【问题标题】:How to convert a CVXPY result into numpy如何将 CVXPY 结果转换为 numpy
【发布时间】:2017-07-02 08:31:21
【问题描述】:

我在 cvxpy 中定义了一个优化问题,但之后想在 numpy 中处理我的代码中的结果 - 如何将其从 cvxpy 转换为 numpy?

它是类型

<class 'numpy.matrixlib.defmatrix.matrix'>

如果我想绘制它以查看结果,matplotlib 只显示一个蓝色区域。

【问题讨论】:

    标签: python numpy optimization cvxopt cvxpy


    【解决方案1】:

    https://docs.scipy.org/doc/numpy/reference/generated/numpy.matrix.view.html 似乎有你需要的一切

    numpy 的 view 可以以任何方式使用 (afaik),您可以直接使用 numpy 的 array

    如果您想获取数据的副本,“转换”为 numpy 数组是有意义的:

    y
    matrix([[1, 0, 0, 0, 2, 0, 0, 0],
            [3, 0, 0, 0, 4, 0, 0, 0]], dtype=int16)
    
    type(y)
    numpy.matrixlib.defmatrix.matrix    
    
    
    n = numpy.array(y)
    n[1,2] = 999
    
    n
    array([[  1,   0,   0,   0,   2,   0,   0,   0],
           [  3,   0, 999,   0,   4,   0,   0,   0]], dtype=int16)
    
    y
    matrix([[1, 0, 0, 0, 2, 0, 0, 0],
            [3, 0, 0, 0, 4, 0, 0, 0]], dtype=int16)
    

    【讨论】:

      猜你喜欢
      • 2018-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-09
      相关资源
      最近更新 更多