MATLAB Answers

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

1 ビュー (過去 30 日間)
凌 山本
凌 山本 2021 年 9 月 14 日
コメント済み: Atsushi Ueno 2021 年 9 月 18 日
MATLAB Function3についてです。
実行すると、信号が一致しませんというエラーが出てしまいます。
次元を確認したのですが、特に問題ないように思えます。
大変お手数ですが、確認して頂いてもよろしいでしょうか?
  2 件のコメント
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 件のコメント
凌 山本
凌 山本 2021 年 9 月 17 日
勉強になりました。
ありがとうございます。

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

その他の回答 (1 件)

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

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

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!