MATLAB Answers

0

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

Asked by Keisuke Takashima on 4 Feb 2019
Latest activity Edited by Tohru Kikawada on 5 Feb 2019
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の定義はできているようなのですが、、、
どなたか対処法をご教授頂けますと幸いです.よろしくお願い致します.

  0 Comments

Sign in to comment.

1 Answer

Answer by Tohru Kikawada on 5 Feb 2019
Edited by Tohru Kikawada on 5 Feb 2019
 Accepted Answer

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

  0 Comments

Sign in to comment.