关于算法:C Newton-Raphson 算法? | 珊瑚贝

C++ Newton-Raphson algo?


我有一个大问题。我需要用 C 函数或类求解 3 个变量中的 3 个方程的非线性系统。我考虑过使用 Newton-Raphson 方法来执行解决方案。不幸的是,我没有找到可以为我做到这一点的源代码。会有人知道这样的程序吗?我几乎决定自己建造它。谢谢


3×3 系统并不庞大;这实际上是一个非常小的问题。人们通常会求解具有数千个(甚至更多)变量和约束的非线性方程组。

鉴于您的系统是 3×3 并且可能很糟糕,更合适的方法选择是线搜索方法。通过这种方式,您可以将全局收敛到残差的局部最小值;牛顿法很容易发散。

带回溯线搜索的最速下降法是最简单的线搜索方法。您可以先尝试实现它。

  • 你好,谢谢你的回答。我做了一个 NELDER-HELD 算法,找到一个函数的最小值或最大值,它非常准确,我可以用它来解决我的问题吗?
  • @TommasoFerrari:我从不推荐使用 Nelder-Mead。不过,它可能适用于您的问题;如果你已经把它写下来了,试试看。


首先,查看相关问题 有哪些好的库可以在 C 中求解非线性方程组?和 https://stackoverflow.com/questions/4914967/could-you-explain-how-newton-raphson-for-a-set-of-equations-works-code-inside。另外,尝试使用 boost.

  • 嗨@user1929959 Boost 有解决非线性系统的算法吗?我在哪里可以找到详细的文件?谢谢


考虑一下这个舒适的 C 库


来源:https://www.codenong.com/16874139/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9205.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?