我有一个大问题。我需要使用 C++ 函数或类求解 3 个变量中的 3 个方程的非线性系统。我考虑过使用 Newton-Raphson 方法来执行解决方案。不幸的是,我没有找到可以为我做到这一点的源代码。会有人知道这样的程序吗?我几乎决定自己建造它。谢谢
问问题
2604 次
3 回答
2
3x3 系统并不庞大;这实际上是一个非常小的问题。人们通常会求解具有数千个(甚至更多)变量和约束的非线性方程组。
鉴于您的系统是 3x3 并且可能很糟糕,更合适的方法选择是线搜索方法。通过这种方式,您可以将全局收敛到残差的局部最小值;牛顿法很容易发散。
带回溯线搜索的最速下降法是最简单的线搜索方法。您可以先尝试实现它。
于 2013-06-01T18:07:32.593 回答
1
首先,查看相关问题有哪些好的库可以在 C++ 中求解非线性方程组?和https://stackoverflow.com/questions/4914967/could-you-explain-how-newton-raphson-for-a-set-of-equations-works-code-inside。另外,尝试使用boost。
于 2013-06-02T04:53:37.677 回答
0
考虑一下这个舒适的 C++ 库
于 2018-12-21T21:13:00.023 回答