MATLAB変数データ型の設定について
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
SimulinkでLTI Systemブロック(ローパスフィルタやノッチフィルタを組み合わせた離散系伝達関数)を通過した後のスカラー信号の数値が1.0123456e-322(実際には小数点以下15桁)など、double型における正の数の最小値 2.2251e-308 (=realmin) よりも小さくなる場合があります。
変数型はSimulinkのモデル設定>コンフィギュレーションパラメータ>数値とデータ型、にて「指定不足のデータ型の規定値」をdoubleにする以外では、自身で設定してはいません(SimulinkのGainなど各ブロックではデータ型を初期設定の "Inherit: Inherit via internal rule" にしています)。
【質問】
(1) どのような理由で、上記のようにSimulinkにおける信号の指数が1.0123456e-322になるなど、e-308(realmin相当)よりも小さくなるのでしょうか。
(2) 信号の数値をdouble型における正の数の最小値 2.2251e-308 (=realmin)の範囲までに留めるためには、どのように設定すればよいのでしょうか。
2 Kommentare
Toshinobu Shintai
am 1 Nov. 2023
(1)について予想ですが、IntelのCPUを使うPCにインストールされたMATLABは、計算する際にIntelの拡張倍精度浮動小数点数(全長80bit、指数部15bit、仮数部64bit)を用いて計算します。
そのために、1.0123456e-322になるなど、e-308(realmin相当)よりも小さくなるのではと思いました。
Antworten (0)
Siehe auch
Kategorien
Mehr zu 信号属性とインデックス付け finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!