简而言之,我的问题是:
Matlab 中的双精度数真的是双精度数,还是具有附加属性的类可以充当整数?
这是问题的背景和动机:)
>> 1:4
ans =
1 2 3 4
>> class(ans)
ans =
double
只是这样做会产生双重...
>> 1.00:4.00
ans =
1 2 3 4
>> class(ans)
ans =
double
...就像这样,即使它被打印为整数。
数字的浮点性质仅在引入更大的数字不确定性时显示。
>> acosd(cosd(1:4))
ans =
0.999999999999900 1.999999999999947 3.000000000000045 4.000000000000041
Matlab 中的双精度数真的是双精度数,还是具有附加属性的类可以充当整数?
用“整数”定义的向量(当然实际上是双精度数),它可以用来索引另一个向量,这通常是整数的属性。
>> A = [9 8 7 6]
A =
9 8 7 6
>> idx = [4 3 2 1]
idx =
4 3 2 1
>> class(idx)
ans =
double
>> A(idx)
ans =
6 7 8 9
我也试过A(acosd(cosd(1:4)))
哪个不起作用。