24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 3908  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

文刀星

木虫 (小有名气)

[求助] ode45积分出现NaN 已有1人参与

对一个函数积分,给定初始值,积分到某一时刻,出现了NaN的情况,最后一项是一个常数,不用管;然后以出现NaN之前的一个数据重新积分,却可以积分到最后,什么情况?

options=odeset('events',@eventRe);
x0=[0.9922,-0.1396,0,1.0157,0,0,0.1667];
[t,x,te,xe,ie]=ode45(@myGAzrfun,[0,2],x0,options)
%上面的积分积分到t=0.0324(t(17))的下一个节点0.0357时,出现NaN情况,见下面部分数据;

x1=x(17,;
[t,x,te,xe,ie]=ode45(@myGAzrfun,[t(17),2],x1,options)
%然后将t=0.0324的时刻所对应的的初值及时间重新积分,却又能够继续积分下去;

   0.9939   -0.1396         0    1.0139    0.0125         0    0.1667
    0.9948   -0.1396         0    1.0130    0.0188         0    0.1667
    0.9957   -0.1396         0    1.0121    0.0252         0    0.1667
    0.9965   -0.1395         0    1.0112    0.0315         0    0.1667
       NaN       NaN       NaN       NaN       NaN       NaN    0.1667
       NaN       NaN       NaN       NaN       NaN       NaN    0.1667
       NaN       NaN       NaN       NaN       NaN       NaN    0.1667
       NaN       NaN       NaN       NaN       NaN       NaN    0.1667
       NaN       NaN       NaN       NaN       NaN       NaN    0.1667
%上面是积分遇到问题时的部分数据;
%下面是积分到最后的部分数据,而且也是我想要的数据,说明应当是正确的,可是为啥会出现上面的情况?
   0.4418   -0.1594         0    1.0001    0.1092         0    0.1667
    0.4221   -0.1612         0    1.0001    0.1096         0    0.1667
    0.4030   -0.1631         0    1.0000    0.1100         0    0.1667
te =
    0.1213
xe =
    0.4030   -0.1631         0    1.0000    0.1100         0    0.1667
ie =
     1

ode45积分出现NaN
360截图20150516124651022.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

binnya

新虫 (初入文坛)

引用回帖:
8楼: Originally posted by 文刀星 at 2015-07-19 13:09:04
具体问题的原因我还是不太清楚。我后来把ode45的abtol和retol设到了e-10甚至更小,然后inf就消失了。因为我的被积方程中有一个函数不稳定,所以提高精度就好点。我猜测你的应该也是在128步时出现了对负数开方的情况 ...

楼主楼主我也是这样的情况,你能具体说下怎么改的abtol和retol吗?不是很明白,拜托了!!!
9楼2016-02-18 13:06:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

wuhanfeng

新虫 (小有名气)

可能在函数在这个点产生奇性,或者值比较大,matlab算不出来

[ 发自小木虫客户端 ]
2楼2015-05-16 14:37:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

文刀星

木虫 (小有名气)

引用回帖:
2楼: Originally posted by wuhanfeng at 2015-05-16 14:37:27
可能在函数在这个点产生奇性,或者值比较大,matlab算不出来

先谢谢你的回复!
那为什么以上一个点代入继续积分却可以呢?而且感觉我的函数中没有产生奇异点的可能,因为只有x(4)做分母,但第四列没有出现零啊。
3楼2015-05-16 14:45:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

文刀星

木虫 (小有名气)

现在发现把该语句[t,x,te,xe,ie]=ode45(@myGAzrfun,[0,2],x0,options)
改为[t,x,te,xe,ie]=ode45(@myGAzrfun,[0,1],x0,options)就可以正常积分出来了;也就是把[0,2]改为[0,1]就可以了;后来试了几组数据,发现1.2还行,1.3就不行了。这是怎么回事啊???请各位大神指点指点!给点意见!
4楼2015-05-16 17:03:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 356求调剂 +4 gysy?s?a 2026-03-28 4/200 2026-03-29 10:32 by 唐沐儿
[考研] 356求调剂 +3 gysy?s?a 2026-03-28 3/150 2026-03-29 00:33 by 544594351
[考研] 311(085601)求调剂 +4 liziyeyeye 2026-03-28 4/200 2026-03-28 18:50 by 535743368
[考研] 0703本科郑州大学求调剂 +3 nhj_ 2026-03-25 3/150 2026-03-28 13:24 by Iveryant
[考研] 286求调剂 +4 丢掉懒惰 2026-03-27 7/350 2026-03-28 08:07 by baoball
[材料工程] 一志愿C9材料与化工专业总分300求调剂 +8 曼111 2026-03-24 9/450 2026-03-28 07:58 by YYYYX1234
[考研] 一志愿上海理工能源动力(085800)310分求调剂 +3 zhangmingc 2026-03-27 4/200 2026-03-27 19:01 by 给你你注意休息
[考博] 26申博 +3 加油冲啊! 2026-03-26 3/150 2026-03-27 15:38 by cls512
[考研] 考研调剂 +10 呼呼?~+123456 2026-03-24 10/500 2026-03-27 11:46 by wangjy2002
[考研] 求调剂 +3 刘柯@ 2026-03-24 4/200 2026-03-27 11:28 by shangxh
[考研] 315调剂 +4 0860求调剂 2026-03-26 5/250 2026-03-27 11:23 by wangjy2002
[考研] 一志愿郑大085600,310分求调剂 +5 李潇可 2026-03-26 5/250 2026-03-27 11:14 by 不吃魚的貓
[考研] 材料求调剂 +5 .m.. 2026-03-25 5/250 2026-03-27 11:08 by 不吃魚的貓
[考研] 材料学硕,求调剂 6+5 糖葫芦888ll 2026-03-22 10/500 2026-03-27 08:18 by hypershenger
[考研] 化学工程085602 305分求调剂 +17 RichLi_ 2026-03-25 17/850 2026-03-26 19:44 by plmuchong
[考研] 263求调剂 +6 yqdszhdap- 2026-03-22 10/500 2026-03-26 13:11 by 公瑾逍遥
[考研] 化学调剂一志愿上海交通大学336分-本科上海211 +4 小鱼爱有机 2026-03-25 4/200 2026-03-26 10:19 by aa331100
[考研] 材料与化工328分调剂 +6 。,。,。,。i 2026-03-23 6/300 2026-03-25 22:30 by 418490947
[考研] 生物学学硕求调剂 +7 小羊睡着了? 2026-03-23 10/500 2026-03-25 02:24 by 清风拂扬。 m
[考研] 调剂 +4 13853210211 2026-03-24 4/200 2026-03-24 19:44 by ms629
信息提示
请填处理意见