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 :

erreur taille matrice Inexplicable (fichiers de simulation en pièce jointe )


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut erreur taille matrice Inexplicable (fichiers de simulation en pièce jointe )
    bonjour,
    Je rencontre un problème de taille de matrice l’ors de l’exécution de la fonction « mnrk4 »
    Qui contient une fonction « matrices ».
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ??? Error using ==> mtimes
    Inner matrix dimensions must agree.
     
    Error in ==> matrices at 21
        A=inertie(q)+m*J'*J;
     
    Error in ==> mnrk4 at 10
    [A B G F J]=matrices(q,qp,m,f);
    Sachant que la fonction « matrices »s’exécute sans erreur.

    Voici le corps des 2 fonctions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    %                  Méthode numérique RUNGE-KUTTA d'ordre 4 
     
    function [q qp]=mnrk4(tau,q,qp,fr)
     
    %q,qp,tau,fr : sont des vecteurs colonne 1*3
     
     
    global m f
     
    [A B G F J]=matrices(q,qp,m,f);
     
    %A B G J Jd: sont des matrices 3*3
    % m,pas et f sont des constantes 
     
    K1=pas*qp;
    Q1=pas*inv(A)*(tau-B*qp-G-F-J'*fr);
     
    [A B G F J]=matrices(q+K1/2,qp+Q1/2,m,f);
    K2=pas*(qp+K1/2); 
    Q2=pas*inv(A)*(tau-B*qp-G-F-J'*fr);
     
    [A B G F J]=matrices(q+K2/2,qp+Q2/2,m,f);
    K3=pas*(qp+Q2/2); 
    Q3=pas*inv(A)*(tau-B*qp-G-F-J'*fr);
     
    [A B G F]=matrices(q+K3,qp+Q3,m,f);
    K4=pas*(qp+Q3); 
    Q4=pas*inv(A)*(tau-B*qp-G-F-J'*fr);
     
    q=q+1/6*(K1+2*K2+2*K3+K4);
    qp=qp+1/6*(Q1+2*Q2+2*Q3+Q4);
    la 2eme fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    %                                                                       Matrices
     
    function [ A B G F J Jd]=matrices(q,qp,m,f)
     
     
    g=[0;0;9.81];
     
    % Matrice jacobienne
    J=jac(q);
     
    % Dérivée de la matrice jacobienne
    Jd=jacder(q,qp);
     
    % Matrice d'inertie
    if m==0
       A=inertie(q);
    else
     
        A=inertie(q)+m*J'*J;  même si je multiplie m.*J’*J erreur 
      end  
     % Matrice des termes coriolis et centrifuges
    if m==0
       B=corio_cent(q,qp);
    else
       B=corio_cent(q,qp)+m*J'*Jd;
    end 
     
     % Matrice gravitationnelle
     if m==0
         G=grav(q);
     else 
         G=grav(q)+m*J'*g; 
     end 
     
     % Matrice des frottements visqueux 
     if f==0
         F=[0 0 0];
     else 
         F=frotvis(qp);
     end
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Struts2 erreur de taille upload de fichier
    Par luchet dans le forum Struts 2
    Réponses: 1
    Dernier message: 14/09/2014, 01h33
  2. Réponses: 5
    Dernier message: 08/12/2012, 16h50
  3. Réponses: 3
    Dernier message: 23/05/2011, 14h52
  4. Erreur 108 - problème taille matrice
    Par vr1986 dans le forum Scilab
    Réponses: 1
    Dernier message: 01/10/2010, 16h28
  5. Réponses: 5
    Dernier message: 15/07/2008, 15h10

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