Bonjour,
j'ai le systeme suivant a resoudre:
y1"+3*y1*y2+y2^2=u1+y2*u2
y2"+cos(y1*y2')+3(y1-y2)=u2-3*((cos y1)^2)*y2*u1
couple en y1,y2 (outputs) et u1,u2 (inputs).
en me remenant a un systeme du 1er ordre j'obtiens:
x1'=x2
x2'=u1+x3*u2-((x3)^2)-3*x1*x3
x3'=x4
x4'=u2-3*((cos x1)^2)*x3*u1-cos(x1*x4)-3*(x1-x3)
pour le resoudre j'ai cru comprendre que la meilleure solution etait d'utiliser la fonction ode45 de Matlab, mais j'ai du mal a m'en servir:
function dy=sys(t,y)
u1=sym('u1','real'); %je ne sais pas comment les definir autrement...
u2=sym('u2','real');
dy=zeros(4,1);
dy(1)=y(2);
dy(2)=...equation 2...;
dy(3)=y(4);
dy(4)=...equation 4...;
[t,y]=ode45(@sys,[0 20],[0 0]);
plot(t,y(:,1));
cela me donne une erreur "index exceeds matrix dimensions" que je n'arrive pas a resoudre...
pouvez-vous m'aider quant a la resolution de ce systeme avec ode45 ou une autre methode ?
Merci beaucoup
-----