Simulink で "isNaN" の機能を実現するにはどうすればよいですか?

Simulink で信号の値が NaN かどうかをチェックする方法を教えてください。

 채택된 답변

MathWorks Support Team
MathWorks Support Team 2011년 5월 26일

0 개 추천

Simulink 7.4 (R2009b) 以降のバージョンをご利用の場合、Relational Operator ブロックにおいて、比較演算子に isNaN を選択することで可能です。
R2009b 以前のバージョンをご利用の場合、下記の方法がご利用いただけます。
NaN ~= x は、NaN を含むすべての値 x に対して 真(True) となります。
つまり、NaN ~= NaN は真となります。
NaN 以外はすべて、自身と自身を ~= で比較した場合、偽(False) となりますので、これを利用することで、基本的なブロックを使用しての NaN の検出が可能です。
関連ドキュメントの例題をご覧ください。
また、C 言語は math.h の中に ISNAN 関数を持っており、double の値が NaN かどうかをチェックするために、C-MEX S-function の中で使用することができます。なお、この関数を使用するためには、ユーザーの S-function のトップで math.h をインクルードしてください。

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 モデルの入力と出力の準備에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

Community Treasure Hunt

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

Start Hunting!