Ton*_*ous 3 python matlab numpy python-2.7
我从 matlab (R2015b) 调用我创建的 python 模块。现在我注意到,我们只能向 python 发送一个 1xN 向量。
所以我在 Matlab 中修复了这个
MATLAB代码:
a = ones(3, 3);
a = a(:).';
Run Code Online (Sandbox Code Playgroud)
然后我a作为参数发送给python函数。
m = py.computeCoreset.computecoreset(a, obj.coresetSize);
Run Code Online (Sandbox Code Playgroud)
现在我的问题是python不返回Matlab矩阵我注意到我在调试时返回了一个ndarray。
这是我的python代码:
import numpy as np
def computecoreset(mat, coresetSize):
return np.random.choice(mat, coresetSize)
Run Code Online (Sandbox Code Playgroud)
我想我需要再次使 ndarray 成为矩阵
但我如何转换它?
提前致谢!
https://www.mathworks.com/matlabcentral/answers/157347-convert-python-numpy-array-to-double
接受的答案表明 py.array.array功能:
data = double(py.array.array('d',py.numpy.nditer(x)));
Run Code Online (Sandbox Code Playgroud)
这也列在
https://www.mathworks.com/help/matlab/matlab_external/handling-data-returned-from-python.html
| 归档时间: |
|
| 查看次数: |
3137 次 |
| 最近记录: |