| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
学习型 ASP/PHP/ASP.NET 主机 35元/年全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
赛孚耐:软件保护加密专家身份认证令牌USB KEY  
共有 544 人关注过本帖
标题:ode45解3阶微分方程,2阶我会,3阶就晕了.
收藏  订阅  推荐  打印 
lvemealone
Rank: 1
等级:新手上路
帖子:1
积分:110
注册:2007-5-30
ode45解3阶微分方程,2阶我会,3阶就晕了.

方程如下:x'''+tx''-xx'+1=0
我的m文件:
function xdot=vdpol(t,x)
xdot(3)=-t*x(3)+x(1)*x(2)-1;
xdot(2)=x(3);
xdot(1)=x(2);
x(1)=x;
窗口命令:
>> t0=0;tf=20;
>> x0=[0;0];
>> [t,x]=ode45('vdpol',[t0,tf],x0);
错误提示:
??? Attempted to access x(3); index out of bounds because numel(x)=2.

Error in ==> vdpol at 2
xdot(3)=-t*x(3)+x(1)*x(2)-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, ...

搜索更多相关主题的帖子: 微分方程  xdot  args  funfun  
2007-5-30 21:02
abingchem
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:24
帖子:716
积分:7466
注册:2004-12-30

function xdot=vdpol(t,x)
xdot=zeros(3,1);
xdot(3)=-t.*x(3)+x(1)*x(2)-1;
xdot(2)=x(3);
xdot(1)=x(2);
?x0=[0;0;0];
?[t,x]=ode45('vdpol',[t0,tf],x0);

5.3版本下运行

此人已消失
2007-6-20 09:23
seidel
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:11
帖子:216
积分:2458
注册:2007-1-31

边界条件少啊!“index out of bounds because numel(x)=2.”

究竟离别只是一场退出还是美好记忆的延续,    最美好的爱究竟是成全还是守候?
2007-6-22 10:29
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.072045 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved