matlab中的inline函数问题

kk_lucky 2011-04-18 03:17:46
function xdot=odetest(t,x)
%龙格-库塔算法测试
%二阶非线性系统微分方程 xdotdot + 0.5*xdot + 2*x + x^2 = 0
%求系统在初始条件为x(0)=1,xdot(0)=0的数值解
%double x;
%%xdot(1,1)=x(2);
%xdot(2,1)=-0.5*x(2)-2*x(1)-x(1)^2;

tspan=[0 20];
x0=[0 1];
fun=inline('[x(2);-0.5*x(2)-2*x(1)-x(1).^2','x');
[t,x]=ode23(fun,tspan,x0);
figure;
plot(t,x);




上面为程序源代码,不过总是出现以下错误:
??? Error using ==> inline.feval at 26
Too many inputs to inline function.

Error in ==> funfun\private\odearguments at 110
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.

Error in ==> ode23 at 172
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...

Error in ==> odetest at 12
[t,x]=ode23(fun,tspan,x0);


麻烦大家帮忙解决一下
...全文
502 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧