Résolution de système linéaire en matlab

Fermé
docinf - 8 déc. 2010 à 16:54
 docinf - 9 déc. 2010 à 17:44
Bonjour,

j'ai du mal à me retrouvez dans matlab, pour résoudre ce système

x' (t) = A x(t) + B u(t) (1)
y(t) = C x(t) + D u(t) (2)


· A est la matrice d'état de dimension (n x n)
· B est la matrice d'application de la commande ou matrice d'entrée de dimension (n x m)
· C est la matrice d'observation ou matrice de sortie de dimension (p x n)
· D est le terme de transmission direct entre les entrées et les sorties de dimension (p x m)
· x(t) est le vecteur d'état de dimension (n x 1)
· u(t) est le vecteur d'entrée de dimension (m x 1)
· y(t) est le vecteur de sortie de dimension (p x 1)

la solution générale de l'équation différentielle (1) est donnée par l'expression suivante :

x(t) = exp(A * (t-t0)) x(t0) + ? exp(A * (t-tau)) * B u(tau) dt l'intégral est de t0 à t

x(t0) correspond à l'état initial du système

la réponse du système linéaire est donc :

y(t) =Cx(t) =C * exp(A * (t-t0)) x(t0) + C * ? exp(A * (t-tau)) * B u(tau) dt

donc mon problème est comment programmer tout ça en matlab

merci de m'éclairer SVP.



1 réponse

bravo !!

je suis fort, j'ai trouvé la solution tout seul comme un grand, la voila pour ceux qui s'intéresse :

>> y(t-1,:) = (expm(A *(t-1))* x')+(quadv(@hcurve,1,t));
1