【问题标题】:how to extract two outputs from scipy minimize如何从 scipy 中提取两个输出最小化
【发布时间】:2019-11-10 04:22:38
【问题描述】:

我想要一个基于长度、宽度和高度(在一定范围内)最小化体积的函数。但是除了volume,我还要计算half_volume = volume /2。

我的最小化算法成功地确定了正确的高度、宽度和长度(显然是较低的波段值)。但是如何提取 half_volume 值呢?

def calcVolume(x):
    length = x[0]
    width  = x[1]
    height = x[2]
    volume = length * width * height
    half_volume = volume / 2
    return volume

sol = minimize(calcVolume, initial_guess, method = 'SLSQP', bounds = x_bounds,options = {'ftol': 1e-8, 'maxiter': 2000, 'disp': True})

因为我正在运行最小化,我不能返回多个输出(在这种情况下是音量)。如果我打印 solution.x,它将给我正确的高度、重量和长度以及最小化的体积。如何访问 half_volume?

【问题讨论】:

    标签: python scipy-optimize-minimize


    【解决方案1】:

    您无法访问 half_volume,因为该函数没有返回它。

    唯一的方法是通过在函数之外使用 half_volume 计算...

    def calcVolume(x):
        length = x[0]
        width  = x[1]
        height = x[2]
        volume = length * width * height
        return volume
    
    half_volume = calcVolume(x) / 2
    

    【讨论】:

      猜你喜欢
      • 2017-11-09
      • 2021-04-05
      • 2020-10-10
      • 2013-11-19
      • 2013-12-03
      • 2017-04-11
      • 1970-01-01
      • 1970-01-01
      • 2020-06-30
      相关资源
      最近更新 更多