使用MATLAB中的数组Python
使用MATLAB®Python中的数组®,您可以在运行打包应用程序之前安装Python引擎,如中所述为Python安装MATLAB引擎API,或使用进口mypackage
之前导入matlab
在下面的程序中。
Python的MATLAB引擎API提供了一个名为matlab
它允许你从Python调用MATLAB函数。的matlab
包提供了在Python中创建MATLAB数组的构造函数。它可以从Python序列类型创建任何MATLAB数字或逻辑类型的数组。支持多维MATLAB数组。金宝app有关其他受支持的数组类型的列表,请参见金宝app将数据从Python传递到MATLAB.
例子
在Python中创建一个MATLAB数组,并在其上调用MATLAB函数。假设您有一个名为
mypackage
还有一个方法叫做mysqrt
在包里面,你可以使用matlab.double
在给定包含数字的Python列表的情况下,创建一个双精度数组。你可以调用MATLAB函数mysqrt
在x
,返回值为另一个matlab.double
数组,如下程序所示:Import mypackage PKG = mypackage.initialize() x = matlab.double([1,4,9,16,25]) print(pypackage .mysqrt(x))
输出结果为:
[[1.0, 2.0, 3.0, 4.0, 5.0)]
创建多维数组。的
魔法
函数返回一个二维数组到Python作用域。假设你有方法调用mysqrt
内部mypackage
,你可以使用下面的代码来调用该方法:Import mypackage PKG = mypackage.initialize() x = matlab.double([1,4,9,16,25]) print(pypackage .mymagic(6))
输出结果为:
[[35.0, 1.0, 6.0, 26.0, 19.0, 24.0), (3.0, 32.0, 7.0, 21.0, 23.0, 25.0), (31.0, 9.0, 2.0, 22.0, 27.0, 20.0), (8.0, 28.0, 33.0, 17.0, 10.0, 15.0), (30.0, 5.0, 34.0, 12.0, 14.0, 16.0), (4.0, 36.0, 29.0, 13.0, 18.0, 11.0)]