我试图理解如何设置python scipy最小化问题。 这是一个例子,我从一个Excel解决问题。 解释这个问题最简单的方法是尝试解决一个非常简单的电网:
R1: 100
R2: 1000
R3: 50
U: 10
三个电阻器,两个并联(R2,R3),然后与R1串联。10伏电源
控制方程为
i1 - i2 - i3 = 0
U - i1*R1 - i2*R2 = 0
U - i1*R1 - i3*R3 = 0
通过最小化给定的目标函数,找到了i1,i2,i3的解
(i1-i2-i3)**2 + (U-i1R1-i2R2)**2 + (U-i1*R1-i3R3)**2
如何在scipy leastsq中实现这个问题?你知道吗
我之所以要使用leastsq是因为我的实际网络要复杂得多,并且包含非线性元素(它实际上不是一个电气网络,而是一个液压网络)。你知道吗
非常感谢! 威廉
首先定义实际的目标函数,它必须将未知变量作为参数
然后你提供一些关于电流的初步猜测
然后调用
minimize
如果要指定a specific minimization algorithm,还可以传入
method
参数。你知道吗另外,如果可以定义Jacobian(可能还有Hessian)矩阵,还可以使用基于梯度的方法,分别传入
jac
和hess
参数,这两个参数应该收敛得更快。你知道吗相关问题 更多 >
编程相关推荐