Maple和MuPAD在符号数字上的重大区别
在Maple和MuPAD两个引擎计算如下相同代码,会得到不同结果。
clc
clear
n1 = 0.1;n2 = 0.2;n3 = 0.4;
%n1 = 0.1;n2 = 1.2;n3 = 0.3;
s1 = num2str(n1);s2 = num2str(n2);s3 = num2str(n3);
a1 = sym(s1);a2 = sym(s2);a3 = sym(s3);
r1 = n1-n3+n2==n1+n2-n3
r2 = a1+a2+a3==a3+a2+a1
r3 = a1-a2-a3==-a2-a3+a1
r4 = a1-a3+a2==a1+a2-a3
在MuPAD(7.11,2010b)下,r1等于0,因为数值计算有误差,没问题。r2、r3、r4是符号计算,按道理应该全部等于1,但测试的时候,根据给出的n1、n2、n3不同,这三个结果不确定(有时候部分为1,有时候部分为0)。
在Maple(7.0,R14)下,r1等于0,没问题。在换多组不同n1、n2、n3测试的时候,r2、r3、r4都一直为1。这才真正体现了符号计算无误差的特点。
大家有MuPAD方面的参考资料吗?谢谢大家!