![]() |
1
5
问题的根源要么是理论上的,要么是数值上的。
为了解决这个问题,你应该改变起点。这个起点对于具有多个解决方案的函数也变得非常重要: this picture 维基百科的文章向您展示了根据起点找到的解决方案(五种颜色代表五种解决方案);因此,你应该小心你的解决方案,并实际检查解决方案的“物理”方面。
对于数值方面,牛顿-拉斐逊算法需要具有雅可比矩阵(导数矩阵)的值。如果未提供给MINPACK解算器,则使用有限差分公式估计雅可比矩阵。需要提供有限差分公式的摄动步骤
machine epsilon . 对于您的问题,您有非常小的输入值,这可能是一个问题。我建议用相同的值(如10^6)乘以每个值,这相当于单位的变化,但可以避免误差和机器精度问题的四舍五入。
|
![]() |
MTR · Python并行运行函数 3 年前 |
![]() |
Navid · 使用scipy时出现多个溢出警告。整合方庭 3 年前 |
![]() |
artem · Scipy最小化忽略约束 6 年前 |
![]() |
BRz · 优化其中一个参数为数组的函数 6 年前 |
![]() |
hellowolrd · 网格数据预测方法 6 年前 |