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

조회 수: 3 (최근 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 CenterFile Exchange에서 言語の基礎에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!