matlab中ode45函数的使用

函数m文件myfun.m已经写好,有九个一阶非线性微分方程,用数值法求,并画出曲线图。
>> x0=[0.01,0.1,0.03,0.1,0.1,0.1,1.2e-3,5.0e-4,1e-3];
>> [t,x]=ode45('myfun',[0,600],x0,[]);
提示两个错误:
错误使用 odearguments MYFUN 必须返回列矢量。
出错 ode45 (line 113)
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn,
...
请问怎么解决这两个问题啊?

t>=0即可用ode45,它的物理意义类似时间,但也不局限于时间。你的问题比较模糊。
满意请采纳。追问

函数的调用没问题吗?我这里的t是表示时间,x表示物质的浓度。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-08
把x0的逗号改成分号就行(把行向量改列向量),或者用转置[]‘
第2个回答  2014-12-22
x0=[0.01,0.1,0.03,0.1,0.1,0.1,1.2e-3,5.0e-4,1e-3]';

改成这样就行了
相似回答