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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 2
    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 : 34
    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
    Par défaut
    Bonjour,

    Une explication serait la moindre des choses.

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

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 2
    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
    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