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 :

Inner matrix dimensions must agree


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 2
    Points : 0
    Points
    0
    Par défaut Inner matrix dimensions must agree
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    close all;
    clear all;
    clc
    input( 'le Système considéré ne tient pas compte de  perturbations  \n ');
    lambda=0.4;
    C=[1 1 0.5;0.25 1 0.5]; 
    B=[0 1;0.5 1;0.25 0]';
    A=[0 1 -1;1 -2 3;0.25 0 0];
    %%%%%%%%%%%%%les données initiales%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    x10=1;
    x20=1;
    x30=-1;
    u1=-0.2;
    u2=0;
    S1=[];
    S2=[];
    U1=[];
    U2=[];
    X1=[];
    X2=[];
    X3=[];
    %%%%%%%%%%%calcul de la commande ,surface de glissement et vecteur d'etat%%
    for i=1:150
        G=A*[x10 x20 x30]'+B*[u1 u2];
        x1=G(1);
        x2=G(2);
        x3=G(3);
        K=C*[x1 x2 x3];
        s1=K(1);
        s2=K(2);
        U=[u1 u2]+inv(C*B)*[(lambda-1)*K-C*A*[x1-x10 x2-x20 x3-x30]' ];  
        x10=G(1);
        x20=G(2);
        x30=G(3);
        [u10 u20]=U;
        X1=[X1,x1];
        X2=[X2,x2];
        X3=[X3,x3];
        S1=[S1,s1];
        S2=[S2,s2];
        U1=[U,u1];
        U2=[U,u2];
        end   
     
    %%%répresentation de la commande ,surface de glissement et les états%%%%%%%
    figure(1)
     
    plot(X1,'b-','linewidth',1.5),grid;
    % Xlabel('Nombre des itérations');
    % Ylabel('Le vecteur d''état x_1');
     axis([0  150  -2.5 2]);
    % set(gca,'fontsize',15);
    % title('Répresentation du vecteur d''état X1','fontsize',15);
    figure(2)
    plot(X2,'r-','linewidth',1.5),grid;
    %Xlabel('Nombre des itérations');
    %Ylabel('Le vecteur d''état x_2');
    axis([0  150  -8 8]);
    %set(gca,'fontsize',15);
    %title('Répresentation du vecteur d''état X2','fontsize',15);
    figure(3)
    plot(X3,'v-','linewidth',1.5),grid;
    %Xlabel('Nombre des itérations');
    %Ylabel('Le vecteur d''état x_3');
    axis([0  150  -0.4  1.4]);
    %set(gca,'fontsize',15);
    %title('Répresentation du vecteur d''état X2','fontsize',15);
     
    figure(3)
    plot(S1,'k-','linewidth',1.5),grid;
    %Xlabel('Nombre des itérations');
    %Ylabel('La surface de glissement s1');
    axis([0  150 -4 4]);
    %set(gca,'fontsize',15);
    %title('Répresentation de la surface de glissement S1 ','fontsize',15);
     
    figure(4)
    plot(S2,'n-','linewidth',1.5),grid;
    %Xlabel('Nombre des itérations');
    %Ylabel('La surface de glissement s2');
    axis([0  150 -3 6]);
    %set(gca,'fontsize',15);
    %title('Répresentation de la surface de glissement S2 ','fontsize',15);
    figure(5)
    plot(U1,'g-','linewidth',1.5),grid; 
    %Xlabel('Nombre des itérations');
    %Ylabel('La commande u1');
    axis([0  150 -50 40]);
    %set(gca,'fontsize',15);
    %title('Répresentation de la commande U1 ','fontsize',15);
    figure(6)
    plot(U2,'y-','linewidth',1.5),grid; 
    %Xlabel('Nombre des itérations');
    %Ylabel('La commande u2');
    axis([0  150 -8 8]);
    %set(gca,'fontsize',15);
    %title('Répresentation de la commande U2 ','fontsize',15);
    message d'erreur
    Error using  * 
    Inner matrix dimensions must agree.
    
    Error in Untitled (line 24)
        G=A*[x10 x20 x30]'+B*[u1 u2];

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Bonjour,

    Une explication serait la moindre des choses.
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 2
    Points : 0
    Points
    0
    Par défaut correction d'essai que je fais
    bonjour,

    j'ai les matrices A,B et C et les valeurs initiaux de x10,x20 et x30 , je veux faire un programme sur matlab pour une commande des systèmes linéaires discrets en mode glissant. tq :
    x(k+1)= A(k)x(k)+Bu(k) ///dans notre programme x(k+1) c'est G et s'ecrit [x1 x2 x3]
    s(k)=Cx(k) //// dans notre programme s(k) est K

    et la loi de commande s'ecrit: u(k)=u(k-1)+(CB)[-1]*((lambda-1)s(k)-CA(x(k)-x(k-1))

  4. #4
    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,

    pour comprendre l'erreur, voir la :
    Inner matrix dimensions must agree.
    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. [Débutant] Inner matrix dimensions must agree.
    Par warplane95 dans le forum MATLAB
    Réponses: 3
    Dernier message: 26/03/2014, 21h26
  2. Error using .* Inner matrix dimensions must agree.
    Par scorpzak25 dans le forum MATLAB
    Réponses: 1
    Dernier message: 20/09/2013, 06h35
  3. [Débutant] Je ne comprends pas l'erreur "Inner matrix dimensions must agree"
    Par osabri dans le forum MATLAB
    Réponses: 1
    Dernier message: 18/12/2011, 22h22
  4. [Débutant] Inner matrix dimensions must agree
    Par Invité dans le forum MATLAB
    Réponses: 6
    Dernier message: 19/05/2011, 22h56
  5. Matrix dimensions must agree.
    Par naim2009 dans le forum Images
    Réponses: 1
    Dernier message: 23/01/2009, 21h16

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