符号计算的比较

时间:2017-12-21 14:16:05

标签: matlab calculation

我试图在matlab上计算雅可比矩阵。我用两种方式计算矩阵:

1-手动计算函数的导数然后实现它;  2-我使用符号在Matlab中编写函数,我使用嵌入函数计算导数,然后计算结果。

以下是使用两种方法的矩阵元素的结果:

0.812800813334022

0.812779921070141(符号计算)

我看到这两个号码只同意第三个数字。我的问题是:

我应该信任哪些结果? (可能很明显它是使用符号计算的那个,如果是这样的话?)

如果第一种方法不准确,我该如何纠正(避免取消......)?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

符号计算应该提供更精确的结果(通常)。数值计算精度损失的一个原因是函数df的导数f(x)基本上是通过使用有限差分计算的:

df = (f(x+dx)-f(x))/dx

通过减少dx,您可以更接近真实值,但会增加舍入误差和浮点计算精度有限的影响。