使用Python在MATLAB数值变量
这个例子展示了如何使用Python在MATLAB®®数字类型。
使用Python在MATLAB数值类型
当调用一个Python函数,它接受一个数字输入参数,MATLAB将双值转换成最能代表Python语言的数据类型。例如,在Python调用三角函数数学
模块,通过MATLAB双重价值。
pynum = py.math.radians (90)
pynum = 1.5708
对于Python函数返回浮动
类型,MATLAB自动将这种类型转换成双。
类(pynum)
ans =“双”
对于Python函数返回整数类型,这种类型转换为自动MATLABint64
。例如,bit_length
函数返回所需的比特数表示在二进制整数int
价值。
py.int .bit_length (intmax)
ans =int6431日
调用Python方法与数值iterable
参数
Pythonmath.fsum
在一个函数和浮点值iterable
输入参数。你可以通过MATLAB向量这个函数。例如,打开MATLABpatients.mat
数据文件和读取数字数组高度
。
负载patients.mat类(高度)
ans =“双”
大小(高度)
ans =1×2100年1
当你通过这个论点Python, MATLAB自动将数值转换为Python数值和Python迭代向量的值。
py.math.fsum(高度)
ans = 6707
使用Python数组
在MATLAB类型
假设您有一个Python函数,它返回以下Pythonarray.array
类型的两倍。
P = py.array.array (' d '1:5)
P = Python数组的属性:itemsize: 8 typecode:(1×1 py。str]数组(“d”, [1.0, 2.0, 3.0, 4.0, 5.0))
通过P
MATLAB函数总和
,转换P
MATLAB double类型的数组。
总和(双(P))
ans = 15
使用Python整数数组
在MATLAB类型
假设您有一个Python数组。调用Python反向
函数的数组,然后将结果转换成一个MATLAB数组。
arr = py.array.array (“我”,(int32 (5), int32 (1) int32 (5)))
arr = Python数组的属性:itemsize: 4 typecode:(1×1 py。str]数组(“我”,[5,1、5])
加勒比海盗。扭转= int32 (arr)
一个=1×3 int32行向量5 1 5
默认的数值类型
默认情况下,在MATLAB双
类型。默认情况下,Python中的数字(没有小数部分)是一个整数类型。这种差异可以通过数字的Python函数时造成混乱。
例如,当你通过这些MATLAB数字Pythondatetime
Python函数,读取它们浮动
并显示一个错误类型:
d = py.datetime.date (2014、12、31)
Python错误:TypeError:整数参数预计,有浮动
纠正这个错误,明确每个数字转换为一个整数类型:
d = py.datetime.date (int32 (2014), int32 (12), int32 (31)
d = Python日期属性:天:31个月:12年:2014 2014-12-31
为什么我看到属性显示一个号码吗?
MATLAB显示所有Python类型的对象,包括一个对象属性的列表。对于数字类型,MATLAB在最后一行显示预期的输出值。
py.int (5)
ans = Python int属性:分母:1图像放大:0分子:5真实:5 5