|
これは予想される動作です。LabVIEWが値を四捨五入または強制する際には、わずかに変更された四捨五入の法則を適用します。最下位の数字が5の場合にのみこの通常と異なる法則が適用されます。常に切り上げるのではなく、LabVIEWは5の前の数字によって切り上げまたは切り捨てのいずれかを行います。5の前の数字が偶数の場合、LabVIEWは切り捨てます。奇数の場合は切り上げます。たとえば、LabVIEWは4.5を4に丸めこみますが、5.5は6へと切り上げます。
LabVIEWがこのような法則を適用する理由は統計解析に基づいています。多数の乱数からなるグループを5で四捨五入すると、統計的なエラーが発生します。偶数・奇数の法則を適用すると、多数の乱数からなるグループ内において通常偶数と奇数の割合は近いという事実に基づき、エラーを削減することができます。割合が正確に1:1の場合、エラーは完全に排除されます。たとえば、4.5と5.5を足し合わせれば結果は10となります。
これらを通常の四捨五入の法則を用いて最も近い整数に丸めこむと、答えは11になります。しかし、偶数・奇数の法則を用いて足すと答えは10です。この例では四捨五入によるエラーは10%です。
このような考え方は乱数にのみ適用されます。数字の一群が奇数あるいは偶数をより多く含む場合、切り捨てによる誤差を軽減するためには別の手法が適用されなければなりません。この場合、「最も近い値に丸めこみ」関数または強制ドットに入力される前に手動で数字を四捨五入する必要があります。これは「切り上げ整数化」関数を使用して5で切り上げるか、あるいは「切り下げ整数化」を用いて5で切り下げるかすることにより可能です。
|