IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Problème de dimension avec parfor


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Problème de dimension avec parfor
    Bonjour à tous !

    J'ai un problème avec une partie de script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    x = sym('x', [1,H]);
    eqm=gamma*p_isa.*x.^2==(WoS/C_D0)*[(ToW_sl*0.76*(0.907+0.262*(abs(x-0.5)).^1.5).*(rho_isa/rho_ssl).^0.7)-sqrt((ToW_sl*0.76*(0.907+0.262*(abs(x-0.5)).^1.5).*(rho_isa/rho_ssl).^0.7).^2-4*K*C_D0)];
    eqM=gamma*p_isa.*x.^2==(WoS/C_D0)*[(ToW_sl*0.76*(0.907+0.262*(abs(x-0.5)).^1.5).*(rho_isa/rho_ssl).^0.7)+sqrt((ToW_sl*0.76*(0.907+0.262*(abs(x-0.5)).^1.5).*(rho_isa/rho_ssl).^0.7).^2-4*K*C_D0)];
     
    parfor i=1:H
        M_rmin(i)=double(vpasolve(eqm(i),x(i),M_min(i)));
        M_rmax(i)=double(vpasolve(eqM(i),x(i),M_max(i)));
        V_rmax(i)=M_rmax(i)*c(i);
        V_rmin(i)=M_rmin(i)*c(i);
    end


    Dans ce morceau de code, je définis deux équations qui sont des vecteurs, chaque colonne correspondant à l'équation pour une altitude donnée (p_isa et rho_isa dans l'équation dépendent de l'altitude).
    Je veux ensuite résoudre ces équations et j'ai souhaité utilisé parfor pour accélérer la résolution. Celle ci fonctionne pour un pas d'altitude de 100m, mais quand je veux le diminuer, je recontre l'erreur :
    In an assignment A(:) = B, the number of elements in A and B must be the same.
    H correspond à la longueur de mon vecteur altitude donc à priori, pas de problème de ce côté là (H augmente quand le pas diminue) et dans mon workspace, tous les vecteurs semblent avoir la bonne dimension. J'ai pensé que peut être l'équation commençait à admettre 2 solutions mais je l'ai résolue à l'indince ou la boucle for s'est arrêtée et j'ai bien une solution donc à priori pas de problème de dimension non plus.

    J'ai essayé avec différents pas plus petits que 100, par exemple avec 50, le code tourne mais pas avec 20 ou 10. Par ailleurs, il semble que si l'indice d'erreur dans la boucle change, cela correspond en revanche toujours à la même altitude ...

    Pourriez vous m'aider ?

    Par avance, merci

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    tout d'abord, penses à nous donner le message d'erreur complet, car on ne sait pas à quelle ligne correspond l'erreur.

    Citation Envoyé par Flav78 Voir le message
    J'ai pensé que peut être l'équation commençait à admettre 2 solutions mais je l'ai résolue à l'indince ou la boucle for s'est arrêtée et j'ai bien une solution donc à priori pas de problème de dimension non plus.
    Je ne connais pas bien la commande parfor, mais le principe étant d'exécuter les instructions en parallèle, comment connais-tu l'indice qui provoque l'erreur? As-tu essayé avec une boucle for classique?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

Discussions similaires

  1. Problème de dimensions avec QHBoxLayout
    Par keke222 dans le forum Qt
    Réponses: 4
    Dernier message: 26/11/2012, 07h33
  2. Problème de dimension avec GridBagLayout
    Par Yann_69 dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 12/06/2012, 09h29
  3. [Débutant] problème de dimensions avec une matrice
    Par alexov dans le forum MATLAB
    Réponses: 3
    Dernier message: 08/06/2011, 17h38
  4. Problème de dimensions avec le thème Vista.
    Par Cravis dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 24/07/2009, 17h34
  5. Réponses: 11
    Dernier message: 03/03/2006, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo