默认数字类型MATLAB和Python
MATLAB®默认情况下,将所有数字值存储为双精度浮点数。相反,Python®默认情况下将一些数字作为整数存储。由于这种差异,您可能会将整数作为输入参数传递给预期双重精度数字的MATLAB函数。
考虑MATLAB中的这些变量分配:
x = 4;y = 4.0;
两个都X
和y
是数据类型双倍的
。现在考虑Python中相同的作业:
x = 4 y = 4.0
X
和y
是不同的数字数据类型。
打印(类型(x))
<类型'int'>
打印(类型(y))
<键入'float'>
大多数MATLAB函数采用数据类型的数字输入参数双倍的
。最好的做法是确保您传递的数字作为输入参数到MATLAB函数是Python数据类型漂浮
,不是python数据类型int
。如果您:
使文字浮点数数。例如,键入
4.0
代替4
。转换为数据类型
漂浮
。例如,x = float(4)
将数字投入到数据类型漂浮
。创建一个
MATLAB.Double
来自数字或序列的数组。例如,x = matlab.double([[1,2,3,4,5])
创建MATLAB数据类型的数组双倍的
来自列表
Python Integers。
当您将整数传递给MATLAB函数,该函数采用数据类型的输入参数双倍的
,引擎会引起错误。看MatlabexecutionError:未定义的功能例如。
当您调用MATLAB函数(确实将整数作为数字输入参数)时,您可以传递Python数据类型的输入参数int
到功能。