我试图在matlab上计算雅可比矩阵。我用两种方式计算矩阵:
1-手动计算函数的导数然后实现它; 2-我使用符号在Matlab中编写函数,我使用嵌入函数计算导数,然后计算结果。
以下是使用两种方法的矩阵元素的结果:
0.812800813334022
0.812779921070141(符号计算)
我看到这两个号码只同意第三个数字。我的问题是:
我应该信任哪些结果? (可能很明显它是使用符号计算的那个,如果是这样的话?)
如果第一种方法不准确,我该如何纠正(避免取消......)?
提前谢谢。
答案 0 :(得分:0)
符号计算应该提供更精确的结果(通常)。数值计算精度损失的一个原因是函数df
的导数f(x)
基本上是通过使用有限差分计算的:
df = (f(x+dx)-f(x))/dx
通过减少dx
,您可以更接近真实值,但会增加舍入误差和浮点计算精度有限的影响。