GAで整数の最適化問題を解く方法について

19 ビュー (過去 30 日間)
Keisuke Takashima
Keisuke Takashima 2019 年 2 月 4 日
編集済み: Tohru Kikawada 2019 年 2 月 5 日
Global Optimization Toolboxの遺伝的アルゴリズムgaを用いて,添付致しました二重振り子モデルの入力トルクの総和の最小化をしたいと思っています.
GAで二重振り子の入力トルク最小化の方法 をベースに,入力エネルギーは定数で,入力エネルギーの振り分け先を決める整数変数swを最適化変数として目的関数を最小化したく思っております.
添付したファイルを実行すると、
次元のサイズ不一致エラー 2:1 が必要ですが実際のサイズは 0 です。 Error in 'planning2018a/MATLAB Function' (line 4) y=cs(2,col);
のエラーが発生し困っています.
simulink上のt,swをscope blockで見てみるとt,swの定義はできているようなのですが、、、
どなたか対処法をご教授頂けますと幸いです.よろしくお願い致します.

採用された回答

Tohru Kikawada
Tohru Kikawada 2019 年 2 月 5 日
編集済み: Tohru Kikawada 2019 年 2 月 5 日
下記の記述がありますが、currentTimeは可変ステップの場合、tで定義されていない値をとりえます。その際、インデックス colemptyになるのが問題のようです。
修正前:
col=cs(1,:)==currentTime;
修正後:
ind = find(cs(1,:)>=currentTime);
col = ind(1);
また、cs作成時のベクトルの並びも間違っているようです。Digital Clockブロックも連続系で使えるClockブロックに置き換えたほうが良いかと思います。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange言語の基礎 についてさらに検索

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!