注册 登录
编程论坛 Matlab

[求助]急问matlab中关于ode的一个问题

kiderer 发布于 2006-09-16 11:42, 624 次点击
这个程序运行怎么要出问题呢,问题在哪
format long
c0=1.;
y(1)=c0;
y(2)=0.0000;
y(3)=0.0000;
[t,y]=ode15s('diffreac',[0.0,0.4,1.0,4.0,10.0],[y(1);y(2);y(3)])


函数程序
fuction dy=diffreac(t,y)
format long;
k(1)=0.4;
k(2)=10000.;
k(3)=3.0*10^7;
dy=[(-k(1)*y(1)+k(2)*y(2)*y(3));(k(1)*y(1)-k(2)*y(2)*y(3)-k(3)*y(2)^2);(k(3)*y(2)^2)]

错误
Error in ==> C:\MATLAB6p5\work\zhu.m
On line 6 ==> [t,y]=ode15s('diffreac',[0.0,0.4,1.0,4.0,10.0],[y(1);y(2);y(3)])

[此贴子已经被作者于2006-9-16 11:43:39编辑过]

2 回复
#2
dsldsl2006-09-16 13:17
我也有同样的问题,同情
#3
zhangenter2006-09-16 18:57

除了把fuction dy=diffreac(t,y)改成function dy=diffreac(t,y),运行中并没出什么错误
format long
c0=1.;
y(1)=c0;
y(2)=0.0000;
y(3)=0.0000;
[t,y]=ode15s('diffreac',[0.0,0.4,1.0,4.0,10.0],[y(1);y(2);y(3)])

t =

0
0.40000000000000
1.00000000000000
4.00000000000000
10.00000000000000


y =

1.00000000000000 0 0
0.87669382684723 0.00008953685427 0.12321663629849
0.76585728679138 0.00006931230224 0.23407340090638
0.54030230604019 0.00003774380219 0.45965995015762
0.38895483041372 0.00002289020109 0.61102227938519

1