Simulinkにお​ける最適化関数FMI​NSEARCHの利用​方法について

S-functionブロックに記載したコードから算出されたデータを、fminsearch関数によってパラメータ推定するSimulinkモデルの作成方法を教えて頂きたいです。
例えば、MathWorksのfminsearchドキュメンテーションに記載されているRosenbrock関数を、S-functionブロックにコード作成をしたとします。 fminsearch関数によってRosenbrock関数の最小化を行う、Simulinkモデルの作成方法を教えてください。
なお、下記URLと内容が重複している部分もあるかと思いますが、解答のほどよろしくお願いいたします。 '最適化関数を使用し、ボード線図に合う Simulink のパラメータの最適化を行うにはどうすれば良いですか?' https://jp.mathworks.com/matlabcentral/answers/153019-simulink

 採用された回答

Yoko
Yoko 2017 年 10 月 10 日

1 投票

上記URLにある例は、fminsearch の目的関数の箇所に、モデルを線形化するコマンドを追加してボード線図を求め、理想応答との二乗誤差を目的関数として設定しているという例ですが、実現したいことがこの処理に近いようであればサンプルコードが役に立つと思います。 S-Function ブロックで出力した時々刻々のシミュレーションデータを使うのであれば、S-Function の出力信号に Outport ブロックを追加し、sim コマンドでシミュレーションを行い 出力引数から S-Function のデータを取得します。 sim 関数の使い方は、ドキュメントページが参考になるかと思います。
>> doc sim

その他の回答 (0 件)

カテゴリ

質問済み:

2017 年 10 月 6 日

編集済み:

2017 年 10 月 11 日

Community Treasure Hunt

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

Start Hunting!