PDA

查看完整版本 : [MATLAB基础] 如何用ode解这个微分方程组?


jiejie2009
2010-06-23, 22:06
如何用ode解这个微分方程组?
我最近正在计算这个lic方程组
dy1/dx=y2*y3
dy2/dx=-y1*y3
dy3/dx=-0.5y1*y2
dy4/dx=4y2*y4
初始值是y1(0)=1;y2(0)=0.26;y3(0)=1e-9;y4(0)=1e-15;
考虑使用ode45函数,
tspan=linspace(x0,xf,45000);
[T,Y]=ode45('lic',tspan,[y1 y2 y3 y4]);
可是运行出来之后提示错误,
??? Error using ==> lic
Too many input arguments.
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, ...
Error in ==> figure1 at 25
[T,Y]=ode45('lic',tspan,[y1 y2 y3 y4]);


我明白是因为输入初值过多。
可是我该怎么改,才能运行?

秋竹木龙
2010-06-23, 22:40
这个问题看看相关的书籍就会啦,有可能时函数写错了。初值我看没问题

laosam280
2010-06-26, 00:05
4个在三维空间的投影为