24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 539  |  回复: 5
当前主题已经存档。

zhaoshans

铁杆木虫 (小有名气)

[交流] 【求助】ode45问题【已完成】

2个M文件的时间范围和步长一样,在第2个M文件中参数u 是变化的,且u也是21*1的,u 的第一个值是10,从第二个开始都是第1个M文件中y(1) 的解,(通过输入y(:,1)可以得到所有21个解)。在第2个M文件中运行有问题,请高手指点,帮忙修改程序,而且能运行得了。谢谢

%第一个M文件
function dy=ivpode1(t,y)
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=(1-y(1)^2)*y(2)-y(1);

%第二个M文件
function df=ivpode2(t,f)
global y
u=ones(length(t),1)*10;
for i=1:1:20
u(i<=t&t<(i+1))=y(i,1);
end
df=zeros(2,1);
df(1)=f(2);
df(2)=u*(1-f(1)^2)*f(2)-f(1);

t=0:1:20;
>> [t,y]=ode45(@ivpode1,t,[2,0]);
>> [t,f]=ode45(@ivpode2,t,[2,0]);
??? Attempted to access y(7,1); index out of bounds because size(y)=[6,1].

Error in ==> ivpode2 at 5
u(i<=t&t<(i+1))=y(i,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, ...


[ Last edited by nono2009 on 2009-9-25 at 07:02 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sitonyl

铁杆木虫 (文坛精英)

★ ★
woshilsh(金币+2,VIP+0):感谢帮助,期待大家点评 5-20 23:25
按照下述顺序调用即可解决问题:

global y
t=0:1:20;
[t,y]=ode45(@ivpode1,t,[2,0]);
[t,f]=ode45(@ivpode2,t,[2,0]);
zz
2楼2009-05-20 22:14:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhaoshans

铁杆木虫 (小有名气)

还得麻烦你帮忙,谢谢

谢谢关注,但是我按照下面指令输入后,还是运行有问题
global y
t=0:1:20;
[t,y]=ode45(@ivpode1,t,[2,0]);
[t,f]=ode45(@ivpode2,t,[2,0]);


Warning: Failure at t=5.188906e+000.  Unable to meet integration tolerances without reducing the step size below the smallest value allowed (1.421085e-014) at time t.
> In ode45 at 355
3楼2009-05-21 11:44:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sitonyl

铁杆木虫 (文坛精英)

★ ★ ★ ★ ★ ★ ★ ★
zhaoshans(金币+5,VIP+0):很耐心的帮忙 5-21 14:46
woshilsh(金币+3,VIP+0):问题得到楼主认可,嘉奖3金币! 5-21 15:19
woshilsh(金币+0,VIP+0):兄弟以后常来哈! 5-21 15:19
引用回帖:
Originally posted by zhaoshans at 2009-5-21 11:44:
谢谢关注,但是我按照下面指令输入后,还是运行有问题
global y
t=0:1:20;
[t,y]=ode45(@ivpode1,t,[2,0]);
[t,f]=ode45(@ivpode2,t,[2,0]);


Warning: Failure at t=5.188906e+000.  Unable to meet int ...

那是计算的精度不够,也就是积分计算中选择的步长太大的原因,可以试着更改一下积分步长,如
t=0:0.01:20;
应该就没问题了。
zz
4楼2009-05-21 12:05:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhaoshans

铁杆木虫 (小有名气)

Done! Thank you!
5楼2009-05-21 14:46:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxhys

金虫 (小有名气)

可以用ode113试一下。
6楼2009-05-30 10:07:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhaoshans 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 346分的生物与医药08600求调剂 +5 常雨阳上岸 2026-04-05 6/300 2026-04-05 13:42 by imissbao
[考研] 085600,专业课化工原理,320分求调剂 +10 大馋小子 2026-03-29 10/500 2026-04-05 12:49 by Hdyxbekcb
[考研] 一志愿南航,数一英一学硕317求调剂!! +5 Acaciad 2026-04-04 5/250 2026-04-05 12:31 by 搏击518
[考研] 数一英一274机械调剂 +5 星陨流霞 2026-04-04 6/300 2026-04-05 11:38 by arrow8852
[考研] 270求调剂 +9 小杰pp 2026-03-31 11/550 2026-04-05 11:02 by 风雨无晴
[考研] 325求调剂 +4 春风不借意 2026-04-04 4/200 2026-04-04 22:08 by 啵啵啵0119
[考研] 求生物学调剂 +14 15172915737 2026-04-01 14/700 2026-04-04 20:13 by babysonlkd
[考研] 302求调剂一志愿华中师范大学 +8 小江小江江江 2026-04-02 8/400 2026-04-04 19:50 by 蓝云思雨
[考研] 一志愿南昌大学324求调剂 +9 hanamiko 2026-03-30 9/450 2026-04-04 11:04 by 猪会飞
[考研] 求材料调剂,一志愿郑州大学289分 +15 硕星赴 2026-04-03 15/750 2026-04-04 01:01 by userper
[考研] 学硕机械工程303求调剂 +6 无名所以叫吴明 2026-03-30 7/350 2026-04-03 16:48 by asdfzly
[考研] 273求调剂 +20 李芷新1 2026-03-31 20/1000 2026-04-03 09:58 by linyelide
[考研] 一志愿南开大学0710生物学359求调剂 +6 兔兔兔111223314 2026-03-29 8/400 2026-04-02 22:37 by louise0220
[考研] 085601一志愿中山大学深圳材料工程330求调剂 +8 pipiver 2026-03-30 8/400 2026-04-02 12:01 by ms629
[考研] 0856初试324分求调剂 +6 想上学求调 2026-04-01 6/300 2026-04-02 11:42 by 星空星月
[考研] 求调剂,一志愿南京师范大学计算机专硕,初试373,六级通过, +3 计算机追梦人 2026-04-01 3/150 2026-04-02 07:57 by fxue1114
[考研] 求调剂0703 +5 周嘉尧 2026-03-31 8/400 2026-04-01 20:32 by ltltkkk
[考研] 285求调剂 +7 AZMK 2026-03-30 13/650 2026-04-01 17:00 by 七度不信任
[考研] 335求调剂 +3 321* 2026-03-31 4/200 2026-04-01 00:00 by 321*
[考研] 材料专硕 085600求调剂 +7 BBQ233 2026-03-30 7/350 2026-03-30 17:44 by oooqiao
信息提示
请填处理意见