MATLAB Answers

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

6 views (last 30 days)
凌 山本
凌 山本 on 14 Sep 2021
Commented: Atsushi Ueno on 18 Sep 2021
MATLAB Function3についてです。
実行すると、信号が一致しませんというエラーが出てしまいます。
次元を確認したのですが、特に問題ないように思えます。
大変お手数ですが、確認して頂いてもよろしいでしょうか?
  2 Comments
Atsushi Ueno
Atsushi Ueno on 18 Sep 2021
二者共同じFlightDynamicsModelをベースにしていて、そのベースとなるモデルに元々含まれていたバグなのかな...

Sign in to comment.

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 15 Sep 2021
下記の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 Comments
凌 山本
凌 山本 on 17 Sep 2021
勉強になりました。
ありがとうございます。

Sign in to comment.

More Answers (1)

凌 山本
凌 山本 on 15 Sep 2021
2016aのmdlファイルを添付しました。
こちらでよろしいでしょうか?
  1 Comment
Atsushi Ueno
Atsushi Ueno on 18 Sep 2021
ありがとうございます開けました。

Sign in to comment.

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!