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

2 次查看(过去 30 天)
Keisuke Takashima
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!