ChaChing 发表于 2009-12-28 10:52

相同代码在各个版本matlab中执行结果差异问题

原帖转载自中文 : Matlab相同的代码在各个版本matlab中执行结果问题
http://www_ilovematlab_cn/viewthread.php?tid=61099&page=1#pid578522 (下标线"_"改为".", 为何总是有不良内容警告)

为什么相同的代码, 在不用版本的matlab中执行结果不同? 就是下面的代码:
syms D u
a=int(exp(-u^2),u,1/(2*sqrt(D*0.1)),inf);
b=int(exp(-u^2),u,1/(2*sqrt(D*0.3)),inf);
double(solve((a/b),D))

各版本的结果如下
在matlab7.0中执行的结果:.1010
在r2009中执行的结果:0.0259
在r2009a中执行的结果:0.0259
在v5.3中执行的结果:0.0099
r2008a中的执行结果: 0.0101000854526561
matlab2008A :   0.0101
maple:   0.01877898738

现在问题的关键是不同版本之间的执行结果为什么不相同? 这样的执行结果的可信度还高吗?

个人使用过ezplot画下a/b vs D的图, 发现D<0.07几乎已为零! 猜测是否各版本间有关solve的收敛准则有所更动了!?
个人水平有限, 想听听诸位大牛的看法!

[ 本帖最后由 ChaChing 于 2009-12-29 11:45 编辑 ]

cc2005726 发表于 2009-12-29 09:54

我在7.0.4的版本上运行,结果是0.0101
虽然我不知道在各版本上运行结果为什么不同,但是帮你顶一下

ChaChing 发表于 2009-12-29 11:28

本帖最后由 coohit 于 2016-8-2 10:17 编辑

http://forum.vibunion.com/forum.php?mod=viewthread&tid=89368&highlight=%CF%E0%CD%AC%B4%FA%C2%EB%D4%DA%B8%F7%B8%F6%B0%E6%B1%BEmatlab%D6%D0%D6%B4%D0%D0%BD%E1%B9%FB%B2%EE%D2%EC%CE%CA%CC%E2
页: [1]
查看完整版本: 相同代码在各个版本matlab中执行结果差异问题