1

要するに、私の質問は次のとおりです。

Matlab の double は本当に double ですか、それとも整数として機能する追加のプロパティを持つクラスですか?

そして、ここに質問の文脈と動機があります:)

>> 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 の double は本当に double ですか、それとも整数として機能する追加のプロパティを持つクラスですか?


「整数」で定義されたベクトル (もちろん実際には double です)。通常は整数のプロパティである別のベクトルにインデックスを付けるために使用できます。

>> 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)))動かないものも試しました。

4

2 に答える 2