【发布时间】:2019-12-06 06:55:10
【问题描述】:
这是一个 Matlab 向量:a = [inf(m,1);ones(m,1)]
我尝试用 python 方式创建一个类似的对象。
我试过这个:
import numpy as np
a = np.stack((np.tile(np.array([np.inf]), (m, 0))),np.ones((m,0)))
例如,通过在控制台中将 m 更改为 5 并尝试使用 PyCharm 查看它,我收到了以下消息:
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\pydev\_pydev_comm\server.py", line 34, in handle
self.processor.process(iprot, oprot)
File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\third_party\thriftpy\_shaded_thriftpy\thrift.py", line 266, in process
self.handle_exception(e, result)
File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\third_party\thriftpy\_shaded_thriftpy\thrift.py", line 254, in handle_exception
raise e
File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\third_party\thriftpy\_shaded_thriftpy\thrift.py", line 263, in process
result.success = call()
File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\third_party\thriftpy\_shaded_thriftpy\thrift.py", line 228, in call
return f(*(args.__dict__[k] for k in api_args))
File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\pydev\_pydev_bundle\pydev_console_utils.py", line 359, in getArray
return pydevd_thrift.table_like_struct_to_thrift_struct(array, name, roffset, coffset, rows, cols, format)
File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\pydev\_pydevd_bundle\pydevd_thrift.py", line 602, in table_like_struct_to_thrift_struct
return TYPE_TO_THRIFT_STRUCT_CONVERTERS[type_name](array, name, roffset, coffset, rows, cols, format)
File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\pydev\_pydevd_bundle\pydevd_thrift.py", line 377, in array_to_thrift_struct
array, array_chunk, r, c, f = array_to_meta_thrift_struct(array, name, format)
File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\pydev\_pydevd_bundle\pydevd_thrift.py", line 476, in array_to_meta_thrift_struct
bounds = (array.min(), array.max())
File "C:\Users\Azerty\PycharmProjects\OptionsHedgeFund\venv37\lib\site-packages\numpy\core\_methods.py", line 32, in _amin
return umr_minimum(a, axis, None, out, keepdims, initial)
ValueError: zero-size array to reduction operation minimum which has no identity
这有什么问题?
【问题讨论】:
-
对于不熟悉 matlab 的人......
a = [inf(m,1);ones(m,1)]是做什么的? -
我们如何在 Matlab 中创建矩阵,总是在括号
[x,y,z;a,b,c]之间并指定我们使用的行;这将在 Python 中返回:([x,y,z]n\ [a,b,c]) -
那么您是否要创建一个 m x 2 矩阵,其第一行由无穷大组成,第二行由一个组成?
-
您可能想用 1 替换零,并将右括号移到最右边并使用
concatenate而不是stack -
我的错,我想我弄错了..我现在确定 matlab 代码生成 m 行 inf,然后从 inf 行的最后一行开始添加,m 行一个
标签: python-3.x matlab numpy