MATLAB调用Python函数

在MATLAB命令窗口输入类似下面语法的命令行可以调用Python函数。[大谦MATLAB,dqmatlab点com]

code.matlab
py.PackageName.FunctionName(ArgList)

其中,PackageName为Python包的名称,FunctionName为函数名称,ArgList为参数列表。

在MATLAB命令窗口输入:

code.matlab
>> a=py.math.ceil(3.16)
a =
	4

该语句实现了在MATLAB中调用Python的Math包对给定的浮点数进行圆整。

code.matlab
>> class(a)
ans =
	'py.int'

说明变量a的数据类型是Python的整型。

在MATLAB命令窗口输入:

code.matlab
>> a=py.random.randrange(10,50,2)
ans =
	18

该语句在MATLAB中调用Python的Random包获取10到50之间的一个随机数。

code.matlab
>> a=py.random.random()
ans =
	0.3550

用Python的Random包返回一个0和1之间的随机数。

在MATLAB命令窗口输入:

code.matlab
>> b=[1 9 4 2 8 0];
>> py.random.choice(b)
ans =
	8

该语句调用Python的Random包在给定数组中随机选择一个数。

在MATLAB命令窗口输入:

code.matlab
>> t=py.datetime.datetime.now()
t =
	datetime
	2024-03-07 13:14:08

该语句MATLAB中调用Python的Datetime包获取当前日期和时间。

在MATLAB命令窗口输入:

code.matlab
>> ds={['2023-4-15'] ['2023-5-18'] ['2023-1-2']};
>> d=py.pandas.Series(ds)
d =
	Python Series
     0    2023-4-15
     1    2023-5-18
     2    2023-1-2
     dtype: object

该语句调用Python的pandas包将给定的元胞数组转换为Series类型。

code.matlab
>> dt=py.pandas.to_datetime(d)
dt =
	Python Series
     0    2023-4-15
     1    2023-5-18
     2    2023-1-2
     dtype: datetime64[ns]

该语句将d对象中元素的数据类型转换为日期时间数据类型。