bonjour a tous. Je viens de (re)debuter en matlab et pour mon premier travail j'aimerais faire une resolution d'equations differentielles. Le code ne tourne pas et je souhaiterais une petite aide svp ! voici le code :
et voici le message d erreur que matlab me retourne :
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 T=5; R=3; P=1; S=0; hprime=1; nu=0.1; t0=0; tf=10; function dy=fun(t,y) global P R S T hprime nu; fiC=nu*R+(1-nu)*(R*y(1)+S*y(2)+(1-y(1)-y(2)).*P); fiD=(nu*P+(1-nu)*(T*y(1)+(1-y(1)).*P)); FI=fiC.*y(1)+fiD.*y(2); dy=zeros(2,1); dy(1)=(hprime*fiC-FI).*y(1); dy(2)=(hprime*fiD-FI).*y(2); return y0=[0.1;0.9]; [t,y]=ode45('fun',[t0,tf],y0)
??? In an assignment A(I) = B, the number of elements in B and
I must be the same.
Error in ==> fun at 7
dy(1)=(hprime*fiC-FI)*y(1);
Error in ==> funfun\private\odearguments at 110
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ==> ode45 at 173
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
Voila... En tout cas merci beaucoup !
Partager