我试图求解32个线性耦合微分方程,当我在求解之前加上它们时,它们应该取消,结果应该正好为零,因为系数是这样的。但它在10 ^ -6中显示非零值,这是我不想要的。从以下程序中可以看出。当我添加所有' A'和' W'值(系数)它们为零,但当我将它们加在一起时,它给出一个非零值。请帮助一下? (ROSE& LILLY单独归零,但为什么LOTUS不为零?)
A1 = 507762.5`;
A2 = 126940.625`;
A3 = 18134.375`;
A4 = 1.468884375`*^6;
A5 = 489628.125`;
A = -2.61135`*^6;
W1 = -571967.7214761395`;
W2 = -190655.90715871312`;
W3 = 571967.7214761395`;
W4 = 190655.90715871312`;
ROSE = A1 + A2 + A3 + A4 + A5 + A;
LILLY = W1 + W2 + W3 + W4;
JASMINE = ROSE + LILLY
LOTUS = A1 + W1 + A2 + W2 + A3 + W3 + A4 + W4 + A5 + A
答案 0 :(得分:1)
由于默认精度Mathematica设置,您的答案会出现不一致。经验法则是,小数点后的数字越大,所需的精度就越高。例如,在您的代码中W3
需要更高的精度来保留您提到的所有小数部分而不是变量A1
。
但是,我相信Mathematica保持所有计算的标准精度,除非您指定它。您可以通过命令SetPrecision
在Mathematica中将精度指定为任意值。如果现在为所有变量指定精度(例如50),则不一致性将消失。希望这有帮助!