Bonjour,

Je n'arrive pas à faire fonctionner mon programme MATLAB qui est pourtant un petit programme tout simple (quelques calculs sur des matrices). Chaque ligne prise indépendamment fonctionne pourtant dans le mode Command.

Je pense que j'ai du oublié d'entrée de jeu sur mon programme une ligne de commande de base à mettre.

Voici mon code :

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
%----------------------------------------------------------------------------- 
%  Détermination K et L dans une commande à retour d'état
%-----------------------------------------------------------------------------
%
% Définition des caractéristiques de la représentation d'état du système
 
clear all;
F=[1 0.1 0 0;0 1 0 0;1.9378 0 1.9378 1;-1 0 -1 0];
g=[0.005;0.1;0;0];
 
% ETAPE 1 : Définition du polynome caractéristique en boucle fermée. Il est donné à
% partir d'un cahier des charges souhaitée (cf poly).
 
alphat=[-0.2338,-0.76622,-0.2432,0.4038];
 
% ETAPE 2 : Calcul du polynome caractéristique en boucle ouverte. Il est calculé
% à partir de la représentation d'état
 
pcbo=poly(F);
at=pcbo(2:5);
a1=pcbo(2);
a2=pcbo(3);
a3=pcbo(4);
 
% ETAPE 3 : Détermination de la matrice de Toplitz
 
Atop=[1,0,0,0;a1,1,0,0;a2,a1,1,0;a3,a2,a1,1];
invAtop=inv(Atop);
 
% ETAPE 4 : Détermination de gouvernabilité
 
gv=ctrb(F,g);
invgv=inv(gv);
 
% ETAPE 5 : Calcul de K par la formule de Bass-Gura
 
K=(at-alphat)*invAtop*invgv;
Voici le message d'erreur que je récupère:

Error: Missing operator, comma, or semicolon.

??? calcul du retour d'état K
Je vous remercie d'avance pour votre aide

Ben