youyoucao_216 发表于 2009-5-23 21:13

数量级差别特大且不知道初值的微分方程如何求数值解

方程是这样的:
dy(x)2+m**y=0
(0<x<d)
初始条件不知,假设y(0)=r,
y’(0)=t
已知 t=jk(2-r)
参数
:m=0.4144969276722334e37

U=-0.5e-18

E=5U

d=0.1e-9

k=2e10*pi
得到的结果应该满足y’(d)=jky(d)
且|r-1|^2+|y(d)exp(-jkd)|^2约等于1
因为数量级以及不知初值,用maple和MATLAB求的结果差距很大,希望高手给指点一下

ChaChing 发表于 2009-5-23 21:58

回复 楼主 youyoucao_216 的帖子

建议楼主给齐完整代码, 方便有兴趣者试试!

youyoucao_216 发表于 2009-5-24 10:13

我编写的试解的程序运行到最后出错out of memory,应该和数量级的差别大有关系。不知道有没有可以设置数量级,或者其他的方法可以解决这个问题

ChaChing 发表于 2009-5-24 11:20

原帖由 youyoucao_216 于 2009-5-23 21:13 发表 http://www.chinavib.com/forum/images/common/back.gif
...用maple和MATLAB求的结果差距很大...

maple没玩过! 个人水平专业又有限
只是认为若能给齐资讯, 或许较有人愿意帮忙!

无水1324 发表于 2009-5-24 22:26

回复 板凳 youyoucao_216 的帖子

matlab里面出现这个问题吗?
这个应该不是数量级的问题了,我猜的

sogooda 发表于 2009-5-25 09:00

回复 楼主 youyoucao_216 的帖子

数量级差别很大?是说方程刚性吗?试试ode15s。
页: [1]
查看完整版本: 数量级差别特大且不知道初值的微分方程如何求数值解