24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2899  |  回复: 2

kexiaolong

金虫 (正式写手)

[求助] mathematica 使用NDSolve时出现的问题已有1人参与

在mathematica 9.0中,使用NDSolve 时,只是将边界条件中的0改为0.03后,为什么会出现图中的问题呢?   在 x == 0.00116` 处,步长实际上为零;可能存在奇点或者刚性系统。怎么解决??
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : mathematica.png
  • 2014-04-12 17:22:45, 34.12 K

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

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

xzczd

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
kexiaolong: 金币+30 2014-12-11 09:22:01
0.03的问题我没仔细研究,但是从你的提问来看,你是因为0处失败了才转向了0.03吧?那么,对0处的失败,可以添加选项MaxSteps->Infinity来解决。不过,你确定你这方程没问题吗?:
eqn = With[{i = 0},
   Rationalize[{y''[x] - y[x]/0.00008585917334 +
       1/30.02 Exp[38 + 32.633/(2.586 + 138 x + 25.655 x^0.732)] == 0,
      y' == 100/30.02 y, y[11.6 10^-4] == 0}, 0]];

sol = NDSolve[eqn, y, {x, 0, 400}, MaxSteps -> Infinity, WorkingPrecision -> 16];

y[100] /. sol

(* {-9.6701192450*10^4701} *)

调了下精度发现冒似没什么改善……直觉上你最好再分析下你的方程。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
2楼2014-07-03 18:51:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

引用回帖:
2楼: Originally posted by xzczd at 2014-07-03 18:51:18
0.03的问题我没仔细研究,但是从你的提问来看,你是因为0处失败了才转向了0.03吧?那么,对0处的失败,可以添加选项MaxSteps->Infinity来解决。不过,你确定你这方程没问题吗?:
eqn = With[{i = 0},
   Rat ...

……代码里的[i]被吞了,请注意在相应的地方加上。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
3楼2014-07-03 18:52:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 kexiaolong 的主题更新
信息提示
请填处理意见