abh*_*rni 4 double int matlab casting
我会让输出说明一切:
>> numFiles, meanTangle, sdTangle
numFiles =
526
meanTangle =
0.4405
sdTangle =
0.1285
Run Code Online (Sandbox Code Playgroud)
现在,当我从这些变量中创建一个向量时:
>> [numFiles meanTangle sdTangle]
ans =
526 0 0
Run Code Online (Sandbox Code Playgroud)
另外,只是为了澄清:
>> class(numFiles)
ans =
int32
>> class(meanTangle)
ans =
double
>> class(sdTangle)
ans =
double
Run Code Online (Sandbox Code Playgroud)
为什么MATLAB在没有强制转换的情况下将浮点数(meanTangle和sdTangle)转换为int?
它会将您的所有双精度转换为整数,因为您的数组包含单个int.这与精确度问题有关.
它将整个数组转换为int32类型:
>> class(ans)
ans =
int32
Run Code Online (Sandbox Code Playgroud)