【多目的ゴールの最適​化】fgoalatt​ainの使い方につい​て

最適化アプリでfgoalattainを使用する場合に近づけたい関数f1とf2はどのように入力するのですか。 目的関数の入力の仕方がわかりません。 【エラー表示】 最適化の実行中にエラーが発生しました。 GOAL のサイズは FUN で出力される F と等しくなければなりません。
私の最適化したい目的関数は1つの関数で2つの目的変数を出力できるのですが、その場合は同じ目的関数で違う目的変数のものを2つ入力するのでしょうか。

 Accepted Answer

michio
michio on 19 Jul 2018

0 votes

近づけたい目的変数 2 つを出力する 1 つの関数を、目的関数として入力します。
GOAL のサイズは FUN で出力される F と等しくなければなりません。
は GOAL の配列サイズが例えば [1,2] と 1x2 であれば、目的関数が出力する変数も同じく 1x2 の配列である必要がありますというメッセージです。
こちらのページ下部にある例では
[K,fval,attainfactor] = fgoalattain(@(K)eigfun(K,A,B,C),...
K0,goal,weight,[],[],[],[],lb,ub,[],options)
と、@(K)eigfun(K,A,B,C) を目的関数としておりますが、この関数は 1x3 の配列を出力します。アプリで目的関数の欄に入れる場合も、@(K)eigfun(K,A,B,C) と記入します。参考になりましたら。

More Answers (0)

Asked:

on 19 Jul 2018

Answered:

on 19 Jul 2018

Community Treasure Hunt

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

Start Hunting!