0

ppたとえば、数値で満たされた列ベクトルがあります。

23.234000
3.1237340
4.4359000

ベクトル内の最小のゼロ以外の数字が占める小数点の右側の桁数を見つけたいと思います。この場合は64なり3.123734ます。次に、ベクトル内のすべての数値を 10^6 で乗算して、ベクトル内のすべての小数を取り除きます。丸め誤差をなくすためにこれを行いたいです。これを行うための最良の方法は何ですか?

4

1 に答える 1

2

実際の値は、MATLABが実際に表示しているものとは異なる場合があります。たとえば、次の例を考えてみましょう。

>> x = 1.4 - [0.1; 0.09999999]

x =
   1.3000
   1.3000

MATLAB は両方の値が 1.3 であることを示していますが、実際にはいずれも 1.3 ではありません。

>> x - 1.3

ans =
  -2.2204e-16
   1.0000e-08

したがって、固定精度 (たとえば 6 桁) を決定し、対応する 10 のべき乗を掛けることをお勧めします。

于 2013-07-31T13:30:23.110 に答える