遺伝的アルゴリズムを​回すために、simu​linkにおいてロー​カル関数から全体のシ​ミュレーションを回し​たい。

1 次查看(过去 30 天)
稔彦 廣瀬
稔彦 廣瀬 2021-9-24
タイトルの通りです。
simulinkにおいて、下記画像1つ目のようなモデルを組みました。
そして、このモデルに対して遺伝的アルゴリズムを行おうとしています。具体的には、GAというmatlabファイル内にて定義されているevaluation という名前のローカル関数を回すたびに、この下記画像1つ目のPath_Planにevaluationから値を渡し、シミュレーションを最後まで回して、いくつかのデータを収集するという操作を行いたいと考えています。シミュレーションが終わったあとは、evaluationに戻り、再びpath_planにevaluationから変数を渡す ということを任意回繰り返します。(下記画像2つ目はGAとPath_Planの画像です。)
しかし以下のような問題が発生しました。
①evaluationを回すたびに、他のmatlabファイルに変数を渡す方法が分からない。
②evaluationを回すたびに、他のmatlabファイルに変数を渡したとしても、またGAというmatlabファイルに戻る方法が分からない。
コードの中身は事情によりお見せ出来ません。
もし解決策がある方がいらっしゃればご教授いただければ幸いです。
  11 个评论
Atsushi Ueno
Atsushi Ueno 2021-9-25
Simulinkモデルの中でGAのパラメータを最適化しながら実行を進める方法も勿論やろうと思えば実現すると思いますが、なにぶんややこしくなると思います。
set_paramを実行している時点で貴方はもうSimulinkマニアです。
稔彦 廣瀬
稔彦 廣瀬 2021-9-25
丁寧な説明ありがとうございます!
Atsushi Uenoさんの方針で実装してみます。
この質問に関連した問題が発生したときは、この質問に追加返信いたします。

请先登录,再进行评论。

采纳的回答

Atsushi Ueno
Atsushi Ueno 2021-9-25
evaluation関数をSimulinkのMATLAB Function ブロック上ではなくMATLAB上で実行すれば:
①evaluationを回すたびに、他のmatlabファイルに変数を渡す方法が分からない。
⇒他のmatlabファイルに変数を渡す事が出来る
②evaluationを回すたびに、他のmatlabファイルに変数を渡したとしても、またGAというmatlabファイルに戻る方法が分からない。
⇒sim関数経由でSimulinkモデルの実行が終わればevaluation関数の実行に戻る
上記の考え方が一つの方法です。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Genetic Algorithm 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!