doubleからsi​ngleのキャスト精​度の向上方法?

添付画像みたいのキャスト処理をSimulinkモデルで実装してみましたが、 8.333333333333333(double)⇒8.3333330154419(single)になる理由は何でしょうか。 2進数⇔10進数の変換結果が約8.333333313465118になりますが、Simulink上でもこの結果ぐらいになり、浮動小数点のキャスト精度向上するために何か設定・コンフィギュレーションがありますでしょうか。(Matlab R2025Sp1)

Risposte (1)

Takafumi
Takafumi il 29 Mag 2018

3 voti

浮動小数点の精度を確認するのに、epsコマンドがありまして、 single 型の精度は代替小数点7桁あたりまでです。
eps('single')
ans =
single
1.1920929e-07

1 Commento

nguyen congkien
nguyen congkien il 30 Mag 2018
Modificato: nguyen congkien il 30 Mag 2018
ご回答ありがとうございます。
知りたかったのが、
・どうしてその結果になるのか。
・どうやって結果の制度を上げるのか。
です。

Accedi per commentare.

Categorie

Scopri di più su Simulink in Centro assistenza e File Exchange

Richiesto:

il 29 Mag 2018

Modificato:

il 30 Mag 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!