飛翔体の運動モデルの信号の次元についてのエラー
조회 수: 4 (최근 30일)
이전 댓글 표시
MATLAB Function3についてです。
実行すると、信号が一致しませんというエラーが出てしまいます。
次元を確認したのですが、特に問題ないように思えます。
大変お手数ですが、確認して頂いてもよろしいでしょうか?
댓글 수: 2
Atsushi Ueno
2021년 9월 18일
メモ:同一の原因と思われる類似の質問 simlinkの次元不一致エラー - MATLAB Answers - MATLAB Central (mathworks.com)
二者共同じFlightDynamicsModelをベースにしていて、そのベースとなるモデルに元々含まれていたバグなのかな...
채택된 답변
Atsushi Ueno
2021년 9월 15일
下記のMATLAB Function3に対する入力の内、
function y = fcn(J, Mxyz)
y = J \ Mxyz;
Jは3*3の行列、Mxyzは3*1の列ベクトルになるべき所ですが、
下記のMATLAB Functionの出力を見ると、Mxyzが1*3の行ベクトルになっています。
function y = fcn(MAx,MAy,MAz)
MA=[MAx
MAy
MAz]; % 見た目は縦だけど、実際は横方向の行ベクトルになっている
y = MA;
なので、下記の様に変更しました。
function y = fcn(MAx,MAy,MAz)
y = [MAx;MAy;MAz]; % 列ベクトルに変更した
ただ、MATLAB Functionに信号の次元が期待通りに継承されない部分があるようで、上記修正をしても別のエラーが出ました。モデルエクスプローラでmldevideを演算するMATLAB Function3の入力信号のサイズをそれぞれ[3 3],[3 1]に固定するとエラーが解消しました。
댓글 수: 2
Atsushi Ueno
2021년 9월 15일
他にも色々エラーがありましたが、接続されていない信号など単純なものです。
また、上記ライブラリを動かす事が出来なかったので、適当な演算に変更しています。動作確認していないので、添付モデルは修正箇所の確認用にだけご利用ください。
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with RF Blockset에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!