1

在求解三变量非线性系统时,我尝试了不同的实现:

1)数学;(FindRoot,默认方法)

2)Matlab编程(利用中心有限差分逼近雅可比)

3)C++(通过使用中心有限差分来近似雅可比)

我发现 Mathematica 工作得最好(解决方案精度、准确性),即使工作精度只是“机器精度”而没有提供符号雅可比行列式。

但是,Mathematica 在这三者中运行速度最慢。

由于我的问题在“精度/准确性”和效率方面都非常苛刻,我如何在 Matlab 或 C++ 中复制默认的“牛顿”方法?

谢谢

4

1 回答 1

0

这个问题已经在这里回答了:FindRoot algorithm details

但是,它们的多精度实现之间没有显着差异。

于 2013-12-02T06:30:11.143 回答