主要内容

默认数字类型MATLABPython

MATLAB®默认情况下,将所有数字值存储为双精度浮点数。相反,Python®默认情况下将一些数字作为整数存储。由于这种差异,您可能会将整数作为输入参数传递给预期双重精度数字的MATLAB函数。

考虑MATLAB中的这些变量分配:

x = 4;y = 4.0;

两个都Xy是数据类型双倍的。现在考虑Python中相同的作业:

x = 4 y = 4.0

Xy是不同的数字数据类型。

打印(类型(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到功能。