MATLAB Answers

simlinkの次元不一致エラー

9 views (last 30 days)
kosaka kazuki
kosaka kazuki on 19 Jan 2021
Commented: kosaka kazuki on 22 Sep 2021 at 9:55
matlab2020aのsimulinkで飛翔体の運動モデル(Flight Dynamics Model(sample))を作成し、動作確認を行ったところ、PlantのブロックのJ(機体の慣性モーメントからなる行列)とMxyz(機体のモーメント)の行列の積(3行3列×3行1列)を計算する部分で「行列の次元は一致しなければなりません。」と表示され、止まってしまいます。同様の計算を行うようにtestというsimulinkファイルを作成し実行したところ問題なかったため、行列計算自体は問題ないことが確認できています。信号属性の設定ミスも疑いましたが、特に問題が無いように思われ、エラー原因がわからない状態です。
現在使用しているファイルがエラーにより添付できないため、後日添付させていただきます。
  1 Comment
kosaka kazuki
kosaka kazuki on 20 Jan 2021
昨日ファイルを送れ無かったため、再度質問を送らせていただきます。
matlab2020aのsimulinkで飛翔体の運動モデル(Flight Dynamics Model(sample))を作成し、動作確認を行ったところ、PlantのブロックのJ(機体の慣性モーメントからなる行列)とMxyz(機体のモーメント)の行列の積(3行3列×3行1列)を計算する部分で「行列の次元は一致しなければなりません。」と表示され、止まってしまいます。同様の計算を行うようにtestというsimulinkファイルを作成し実行したところ問題なかったため、行列計算自体は問題ないことが確認できています。信号属性の設定ミスも疑いましたが、特に問題が無いように思われ、エラー原因がわからない状態です。使用したプログラムは添付したファイルの通りです。

Sign in to comment.

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 17 Sep 2021
R2017aしか持っていないので添付モデルが読めませんが、上記質問と問題点が一致し、添付ファイルの構成も似ている事から同じ原因だとほぼ断定しました。
原因は「J(機体の慣性モーメントからなる行列)が列ベクトルとなるべきところ行ベクトルになっていた」でした。
  1 Comment
kosaka kazuki
kosaka kazuki on 22 Sep 2021 at 9:55
ご教授いただいた通り、行列の表記についての不備を発見し、直したところ正常に動作しました。ありがとうございます。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!