Bonjour,

Voici une partie du programme que j'ai écris :
(je rentre avec un vecteur [1 0 1])

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
sizes.NumContStates  = 6;
sizes.NumDiscStates  = 0;
sizes.NumOutputs     = 6;
sizes.NumInputs      = 3;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;
 
x0  = [0 0 10 0 0 0];
 
function sys=mdlDerivatives(t,x,u)
 
M = [cos(x(6)) sin(x(4))*sin(x(6)) 0; -sin(x(6)) sin(x(4))*cos(x(6)) 0; 0 cos(x(4)) 1]
Y=[x(1);x(2);x(3)]
sys=[x(4:6) ;inv(M)*Y]
 
function sys=mdlOutputs(t,x,u)
 
sys = x;

Et au final, j'ai cette erreur :

State derivatives returned by S-function 'matrix' in 'sat/S-Function2'
during flag=1 call must be a real vector of length 6
Et je n'arrive pas à la résoudre mais ça vient du inv(M) je pense :/
Merci d'avance pour votre aide.