質問: gaで整数の最適化問題を解く方法について 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の定義はできているようなのですが、、、 どなたか対処法をご教授頂けますと幸いです.よろしくお願い致します.
回答: 下記の記述がありますが、currenttimeは可変ステップの場合、tで定義されていない値をとりえます。その際、インデックス colがemptyになるのが問題のようです。 修正前: col=cs(1,:)==currenttime; 修正後: ind = find(cs(1,:)>=currenttime); col = ind(1); また、cs作成時のベクトルの並びも間違っているようです。digital clockブロックも連続系で使えるclockブロックに置き換えたほうが良いかと思います。