fmin在python中的使用

2024-04-29 06:01:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用fmin缩小我的函数:

def minim(self,x_r,x_i):
    self.a=complex(3,4)*(3*np.exp(1j*self.L_ch))
    x = x_r + x_i
    self.T=np.array([[0.0,2.0*self.a],[(0.00645+(x_r)^2), 4.3*x_i^2]])
    return self.T

part_real=0.532
part_imag=1.2
R_0 = fmin(A.minim,part_real,part_imag)

但我有个错误:

^{pr2}$

我试图使用其他类似于minimize的方法,但是同样的错误出现了。谢谢您。在


Tags: 函数selfreturndef错误npcharray
1条回答
网友
1楼 · 发布于 2024-04-29 06:01:14

您没有正确使用fmin。在

scipy.optimize.fmin(func, x0, args=(), xtol=0.0001, ftol=0.0001, maxiter=None, maxfun=None, full_output=0, disp=1, retall=0, callback=None)。如果要同时优化x_rx_i,则应将它们作为x0一起传递。现在的方法是将part_imag作为args传递,这应该是一个序列,而不是标量。这就是为什么你会有例外

如果没有可复制的示例,我想您需要将代码更改为:

def minim(self,p):
    x_r=p[0]
    x_i=p[1]
    self.a=complex(3,4)*(3*np.exp(1j*self.L_ch))
    x = x_r + x_i
    self.T=np.array([[0.0,2.0*self.a],[(0.00645+(x_r)^2), 4.3*x_i^2]])
    return self.T

part_real=0.532
part_imag=1.2
R_0 = fmin(A.minim,[part_real,part_imag])

看看能不能用。在

而且你的x似乎从来没有被使用过。在

相关问题 更多 >