simlinkの次元不一致エラー

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

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

採用された回答

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

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

その他の回答 (0 件)

カテゴリ

Find more on Simulink 環境のカスタマイズ in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!