MATLAB変数データ型の設定について
조회 수: 10 (최근 30일)
이전 댓글 표시
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
Toshinobu Shintai
2023년 11월 1일
(1)について予想ですが、IntelのCPUを使うPCにインストールされたMATLABは、計算する際にIntelの拡張倍精度浮動小数点数(全長80bit、指数部15bit、仮数部64bit)を用いて計算します。
そのために、1.0123456e-322になるなど、e-308(realmin相当)よりも小さくなるのではと思いました。
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 信号属性とインデックス付け에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!