在MATLAB中使用Python数字变量
此示例显示了如何在MATLAB®中使用Python®数字类型。
在MATLAB中使用Python数字类型
当调用采用数字输入参数的Python函数时,MATLAB将双重值转换为最能代表数据为Python语言的类型。例如,调用python中的三角学函数数学
模块,传递MATLAB双重值。
pynum = py.math.radians(90)
Pynum = 1.5708
对于返回Python的功能漂浮
类型,MATLAB会自动将此类型转换为double。
班级(Pynum)
ans ='double'
对于返回整数类型的Python函数,MATLAB会自动将此类型转换为INT64
。例如,bit_length
函数返回表示二进制中整数所需的位数int
价值。
py.int(intmax).bit_length
ans =INT6431
用数字调用Python方法觉得
参数
PythonMath.fsum
函数将浮点值列入觉得
输入参数。您可以将MATLAB矢量传递到此功能。例如,打开MATLAB患者
数据文件并读取数字阵列高度
。
加载患者班级(高度)
ans ='double'
尺寸(高度)
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数组:itextize:8 typecode:[1×1 py.str]阵列('d',[1.0,2.0,2.0,3.0,4.0,5.0])
通过p
到MATLAB功能和
, 兑换p
到double类型的MATLAB阵列。
sum(double(p))
ANS = 15
使用Python Integer大批
类型MATLAB
假设您有这个python数组。打电话给Python撤销
在数组上功能,然后将结果转换为MATLAB数组。
arr = py.Array.Array('一世',[INT32(5),INT32(1),INT32(-5)])
ARR =带有属性的Python数组:iTESTIZE:4 TYTECEDE:[1×1 py.str] array('i',[5,1,-5])
arr.reverse a = int32(arr)
a =1×3 INT32行矢量-5 1 5
默认数字类型
默认情况下,MATLAB中的一个数字是双倍的
类型。默认情况下,python中的一个数字(没有分数)是整数类型。将数字传递给Python函数时,这种差异可能会引起混淆。
例如,当您将这些MATLAB编号传递给Python时约会时间
功能,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 with属性:分母:1图像:0分子:5真实:5 5 5