MATLAB Function 次元について
이전 댓글 표시
Simulink内でMATLAB Function ブロック使用して演算しています。
画像のようにMATLAB Functionに入力すると
エラー内容
インデックスが行列の次元を超えています。配列 z は空であるため有効なインデックスを持ちません。
のようにエラーが発生しシミュレーションが実行できません。
次に、コメントアウトされている方(薄く表示されているA)の数値を使用すると、シミュレーションが実行されます。
この違いの原因が分かりません。どちらも出力されるデータ型はdouble型でした。

댓글 수: 9
Toshinobu Shintai
2020년 1월 7일
入力した信号線の次元とMATLAB Function内でそれに対応した変数の次元が一致してないのではないでしょうか。以下を参考に確認してみてください。
また、モデルを添付してくださると答えやすくなります。
Shoumei
2020년 1월 7일
zはMATLAB Function内の変数ですよね?
入力uの値には0.15かmが入ると思いますが、これらの値からMATLAB Function内で算出される値がzの配列サイズを超えているのでは?と推測します。
MATLAB Function内のコードを見ないと何とも判断できませんね。
s
2020년 1월 7일
s
2020년 1월 7일
Shoumei
2020년 1월 7일
z = find(t_ppd>t_cr);
で解が見つからず、zが空行列になっているのだと思います。
MATLAB Functionにブレークポイントを張って、zが意図した値になっているかどうかデバッグしてみてください。
s
2020년 1월 8일
Etsuo Maeda
2020년 1월 9일
z = find(t_ppd>t_cr);
の一行前にブレークポイントを置いて
t_ppd>t_cr
の出力をコマンドウィンドウで確認してみてはどうでしょうか?
HTH
stozaki
2020년 1월 25일
MATLAB Functionの入力引数は6つあります。一方、ブロックの入力ポートは1つなので、5つはパラメータという認識で宜しいでしょうか?
その場合、5つのパラメータはどの様な属性を設定されているのでしょうか? コードのデバッグを行う前に、前提として変数、パラメータの属性を明らかにして頂く必要があると思います。
もし、未定義のままですと、既定の属性設定のままなので、意図された動作と異なる可能性もあります。
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!