fminconまたはfminsearchの引数 funの書き方について

23 visualizzazioni (ultimi 30 giorni)
Kimiyasu Sasaki
Kimiyasu Sasaki il 16 Set 2019
Risposto: Kimiyasu Sasaki il 20 Set 2019
simulinkでMATLAB function ブロックを用いてx(w)とy(w)を用いて、目的関数(x -y)^2が最小となるようなwを求めたいです。このときfminsearch関数を用いるかと思いますが、この関数の引数であるfunの定義の仕方がわかりません。 fun = @(x,y) (x - y)^2としていいのでしょうか? x,yはともにwの関数なので fun = @(w)... としたいところですが、複雑になるのでMATLAB function ブロックの入力であるx, yの関数として定義したいです。 うまいやり方ご存知の方いらっしゃいましたらご回答よろしくお願いいたします。

Risposta accettata

Etsuo Maeda
Etsuo Maeda il 19 Set 2019
fminsearch関数の入力引数のうち、どの値をSimulinkから入力したいのか分かりませんが、MATLABで2変数の関数出力を使ってfminsearch関数を動かしたいなら次のように記述します。
fun = @(s) (funX(s(1)) - funY(s(2)))^2;
s0 = [1 2];
t = fminsearch(fun,s0)
function out = funX(in)
out = 2*in;
end
function out = funY(in)
out = 0.5*in;
end
HTH

Più risposte (1)

Kimiyasu Sasaki
Kimiyasu Sasaki il 20 Set 2019
ご回答ありがとうございました。

Categorie

Scopri di più su Optimization Toolbox 入門 in Help Center e File Exchange

Prodotti


Release

R2016b

Community Treasure Hunt

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

Start Hunting!