0

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

它是类型

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

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

4

1 回答 1

0

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

numpyview可以以任何可以array直接使用 numpy 的方式使用(afaik)。

如果要获取数据副本,将“转换”为 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)
于 2017-02-14T08:28:54.807 回答