飛翔体の運動モデルの信号の次元についてのエラー

3 ビュー (過去 30 日間)
凌 山本
凌 山本 2021 年 9 月 14 日
コメント済み: Atsushi Ueno 2021 年 9 月 18 日
MATLAB Function3についてです。
実行すると、信号が一致しませんというエラーが出てしまいます。
次元を確認したのですが、特に問題ないように思えます。
大変お手数ですが、確認して頂いてもよろしいでしょうか?
  2 件のコメント
Atsushi Ueno
Atsushi Ueno 2021 年 9 月 14 日
編集済み: Atsushi Ueno 2021 年 9 月 18 日
できましたらR2016辺り形式のmdlファイルも付けて頂けませんでしょうか。
Atsushi Ueno
Atsushi Ueno 2021 年 9 月 18 日
二者共同じFlightDynamicsModelをベースにしていて、そのベースとなるモデルに元々含まれていたバグなのかな...

サインインしてコメントする。

採用された回答

Atsushi Ueno
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
Atsushi Ueno 2021 年 9 月 15 日
他にも色々エラーがありましたが、接続されていない信号など単純なものです。
また、上記ライブラリを動かす事が出来なかったので、適当な演算に変更しています。動作確認していないので、添付モデルは修正箇所の確認用にだけご利用ください。
凌 山本
凌 山本 2021 年 9 月 17 日
勉強になりました。
ありがとうございます。

サインインしてコメントする。

その他の回答 (1 件)

凌 山本
凌 山本 2021 年 9 月 15 日
2016aのmdlファイルを添付しました。
こちらでよろしいでしょうか?
  1 件のコメント
Atsushi Ueno
Atsushi Ueno 2021 年 9 月 18 日
ありがとうございます開けました。

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGet Started with RF Blockset についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!