Bonjour,
Voici une partie du programme que j'ai écris :
(je rentre avec un vecteur [1 0 1])
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.
Partager