python-3.x - 如何使用带有附加参数的 optimize.minimize 函数?
问题描述
这只是我做的一个测试功能。给定一个列表,如果我可以在列表中添加一个值,什么值可以最小化列表的方差?
from scipy import optimize
def var_func(x,observations):
path_var=variance([x]+observations)
return path_var
observations=[15,24,46,23,54]
var_func_bet=optimize.minimize(var_func,100,args=(observations))
我已经成功地在单变量函数上成功使用了 optimize.minimize,但在这里它不起作用。
尝试上面的代码给了我错误:
TypeError: can't convert type 'ndarray' to numerator/denominator
解决方案
使用numpy.var计算方差并确保将参数作为元组传递(请参阅 hpaulj 的评论):
from scipy.optimize import minimize
import numpy as np
def var_func(x,observations):
return np.var([x]+observations)
observations = [15,24,46,23,54]
var_func_bet = minimize(var_func, 100, args=(observations,))
推荐阅读
- python - Django 模板。如何为 QuerySet 中的每个元素创建特定键的值列表
- python - 带有 3d 输入的 Pytorch 交叉熵损失
- javascript - 无法在 HTMLImageElement.changeImg 处设置未定义的属性“src”
- linux - 打印与日志文件中条件匹配的数据
- c# - UDP套接字缓冲区空间异常c#
- javascript - 使用 express-fileupload 和 multer 包未定义 Req.file
- excel - 有没有办法让我找出最后一次在 Excel 电子表格中修改特定单元格的日期?
- python - 如何在截屏时隐藏此 GUI?
- python - “requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))”
- vba - 错误运行时错误 -2147024809 (80070057)