在 Python 中使用 MATLAB 数组
此示例显示如何在 MATLAB® 中使用 Python® 数组。
matlab 包提供了新的 Python 数据类型来创建可传递给 MATLAB 函数的数组。matlab 包可以从 MATLAB 序列类型创建任何 Python 数值或逻辑类型的数组。支持多维 MATLAB 数组。
在 Python 中创建一个 MATLAB 数组,并对其调用 MATLAB 函数。
import matlab
from production_server import client
client_obj = client.MWHttpClient("http://localhost:9910")
x = matlab.double([1,4,9,16,25])
print(client_obj.myArchive.sqrt(x))
[[1.0,2.0,3.0,4.0,5.0]]
您可以使用 matlab.double 来创建一个双精度数组,给定一个包含数字的 Python 列表。您可以在 sqrt 上调用 x 这样的 MATLAB 函数,返回值是另一个 matlab.double 数组。
创建一个多维数组。magic 函数返回 Python 范围的二维数组。
a = client_obj.myArchive.magic(6)
print(a)
[[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]]
调用 tril 函数获取 a 的下三角部分。
b = client_obj.myArchive.tril(a)
print(b)
[[35.0,0.0,0.0,0.0,0.0,0.0],[3.0,32.0,0.0,0.0,0.0,0.0],
[31.0,9.0,2.0,0.0,0.0,0.0],[8.0,28.0,33.0,17.0,0.0,0.0],
[30.0,5.0,34.0,12.0,14.0,0.0],[4.0,36.0,29.0,13.0,18.0,11.0]]