我从matlab(R2015b)调用我创建的python模块。现在我注意到,我们只能向python发送一个1xN向量。在
所以我在Matlab中修复了这个问题
Matlab代码:
a = ones(3, 3);
a = a(:).';
然后我将a
作为参数发送给python函数。在
现在我的问题是python不返回Matlab矩阵 我注意到我在调试时返回了一个ndarray。在
这是我的python代码:
import numpy as np
def computecoreset(mat, coresetSize):
return np.random.choice(mat, coresetSize)
我想我需要再一次把ndarray变成矩阵
但是我如何转换它呢?在
提前谢谢!在
这是一个瞎猜,因为我没有Matlab来测试它,但是我怀疑您必须返回python^{} 对象,而不是numpy数组。
所以像这样:
为了完整起见,另一种方法是这样的:
https://www.mathworks.com/matlabcentral/answers/157347-convert-python-numpy-array-to-double
接受的答案建议
py.array.array
函数:也列在
https://www.mathworks.com/help/matlab/matlab_external/handling-data-returned-from-python.html
相关问题 更多 >
编程相关推荐