主要内容

Python 中使用 MATLAB 数组

要在 Python® 中使用 MATLAB® 数组,您可以按照安装用于 Python 的 MATLAB Engine API中的说明在运行打包应用程序之前安装 Python 引擎,也可以在以下程序中先使用 import mypackage,然后再使用 import matlab

MATLAB Engine API for Python 提供了一个名为 matlab 的 Python 包,使您能够从 Python 调用 MATLAB 函数。matlab 包提供了用于在 Python 中创建 MATLAB 数组的构造函数。它可以从 Python 序列类型创建任何 MATLAB 数值或逻辑类型的数组。支持多维 MATLAB 数组。有关其他受支持的数组类型的列表,请参阅在 MATLAB 和 Python 之间传递数据

示例

  1. 在 Python 中创建一个 MATLAB 数组,并对其调用 MATLAB 函数。假设您有一个名为 mypackage 的包,该包中有一个名为 mysqrt 的方法,您可以使用 matlab.double 根据包含数值的 Python 列表创建一个双精度数组。您可以对 x 调用 MATLAB 函数 mysqrt,返回值是另一个 matlab.double 数组,如以下程序所示:

    import matlab
    import mypackage
    pkg = mypackage.initialize()
    x = matlab.double([1,4,9,16,25])
    print(pkg.mysqrt(x))
    

    输出为:

    [[1.0,2.0,3.0,4.0,5.0]]
  2. 创建一个多维数组。magic 函数返回 Python 范围的二维数组。假设在 mypackage 中有名为 mysqrt 的方法,您可以使用以下代码调用该方法:

    import matlab
    import mypackage
    pkg = mypackage.initialize()
    x = matlab.double([1,4,9,16,25])
    print(pkg.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]]
    

另请参阅

主题