2017-10-31 12 views
1

私はtestPython.py持っている:numpy配列をMatlab行列に変換するにはどうすればいいですか?

import numpy as np 
def numpyTest(): 
    print("Testing numpy...") 
    x = np.array([1,2,3]) 
    return x 

をし、私が持っているtest.m:

clear; clc; 

value = py.testPython.numpyTest() 

私はtest.mを実行すると、私が得る:

テストnumpyのを...

value = 

    Python ndarray with properties: 

      T: [1×1 py.numpy.ndarray] 
     base: [1×1 py.NoneType] 
     ctypes: [1×1 py.numpy.core._internal._ctypes] 
     data: [1×24 py.buffer] 
     dtype: [1×1 py.numpy.dtype] 
     flags: [1×1 py.numpy.flagsobj] 
     flat: [1×1 py.numpy.flatiter] 
     imag: [1×1 py.numpy.ndarray] 
    itemsize: 8 
     nbytes: 24 
     ndim: 1 
     real: [1×1 py.numpy.ndarray] 
     shape: [1×1 py.tuple] 
     size: 3 
    strides: [1×1 py.tuple] 

    [1 2 3] 

python numpy配列をmatlabマトリックスに変換するにはどうすればよいですか?

+0

Pythonで完全に動作しないのはなぜ? (https://stackoverflow.com/a/17535694/1959808)Matlabを使用するとどのようなメリットがありますか? –

+0

@ IoannisFilippidis私がROSとガゼボを制御するmatlabコードを持っているので、matlabを使用する唯一の理由があります。私はtensorflowやpytorchのような深い学習ツールを使用し、MATLAB – MoneyBall

+0

経由でガゼボとROSに接続したいのですが、 'value'にアクセスしようとしましたか?例えば'value(1)' –

答えて

0

我々はここではいくつかの変換を実行する必要があります。

clear; clc; 

value = py.testPython.numpyTest();% ndarray 
pyList = value.tolist(); % ndarray -> pylist 
result = cellfun(@double,cell(pyList)) %pylist-> cell array -> double array 

別のオプションは、ファイルを介してデータを転送することですが、私はそれを好きではありません。

とPythonのリストの変換についてMatlabのドキュメントへのリンク:

https://www.mathworks.com/help/matlab/matlab_external/use-python-list-of-numeric-types-in-matlab.html

関連する問題