24小时热门版块排行榜    

查看: 2379  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

有机物

至尊木虫 (著名写手)


[交流] 【求助】同样一个问题用matlab和fortran编程计算,结果相差比较大,不知道为什么

求解一个偏微分方程,过程一样,分别用matlab和fortran编程,不知道为什么,结果相差很大。有没有虫友碰到过类似的问题啊,纠结中。
回复此楼

» 猜你喜欢

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

» 抢金币啦!回帖就可以得到:

查看全部散金贴

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

信彼南山

木虫 (著名写手)


★ ★
有机物(金币+2):谢谢参与
xiegangmai(金币+1):谢谢参与 2011-01-09 22:36:23
把每一步的值都记录一下,看看偏差出现在什么地方了
如果是我的话,我选择相信matlab。

看看你的误差产生原因是什么,是累积误差还是截断误差
或者尝试修改步长试试看,步长与两个计算的结果成什么样的关系
5楼2011-01-09 22:34:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

lijinfeng042

木虫 (小有名气)


★ ★
有机物(金币+2):谢谢参与
wuming524(金币+1):谢谢应助 2011-01-08 01:04:59
matlab对初值依赖很大 有时候甚至于没有结果...尝试maple对比一下
如果是自己写的算法 那就应该可以每一步都可以检查啊
2楼2011-01-06 10:49:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★ ★
有机物(金币+2):谢谢参与
wuming524(金币+1):谢谢应助 2011-01-08 01:05:09
引用回帖:
Originally posted by 有机物 at 2011-01-05 22:43:42:
求解一个偏微分方程,过程一样,分别用matlab和fortran编程,不知道为什么,结果相差很大。有没有虫友碰到过类似的问题啊,纠结中。

MATLAB只能求解一些比较简单的偏微方程,对复杂一些的PDE,需要自己写程序实现。
不懂FORTRAN,但是用c写过简单的计算程序,用的有限差分进行的离散,对规则的求解域,还比较容易实现。

不知道你的PDE是什么样的,建议用COMSOL计算一下作为比较。

如果算法都正确,计算结果应该只有精度误差的。
3楼2011-01-06 22:39:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

有机物

至尊木虫 (著名写手)


引用回帖:
Originally posted by xiegangmai at 2011-01-06 22:39:37:


MATLAB只能求解一些比较简单的偏微方程,对复杂一些的PDE,需要自己写程序实现。
不懂FORTRAN,但是用c写过简单的计算程序,用的有限差分进行的离散,对规则的求解域,还比较容易实现。

不知道你的PDE是什 ...

因为我的PDE的边界条件比较特殊,不能直接用MATLAB里面的PDE工具解。我也是用有限差分法自己写程序算,算法都一样,只是用MATLAB和FORTRAN来计算,结果相差很大。仔细检查了每一步的计算,实在是找不到哪里有问题,郁闷啊。
4楼2011-01-07 10:52:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见