Info

この質問は閉じられています。 編集または回答するには再度開いてください。

How can I pass a function into a function and find the minimum?

1 回表示 (過去 30 日間)
Dimitra Kyriakouli
Dimitra Kyriakouli 2019 年 12 月 2 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
Hi! I have a problem when trying to minimize a function with fminsearch. I have this function:
function [f] = myfunc(X)
x1 = X(1);
x2 = X(2);
f = 2*x1^2 + 2*x1*x2 + 2*x2^2 - 6*x1;
end
and I want to minimize the f(X+a*grad) where X and grad are known.
I tried this:
[f] = myfunc(@(a) X + a * grad);
a = fminsearch(f,0)
but it doesn't seem to work.
Do you have any suggestions on how to make my code work?
  1 件のコメント
Star Strider
Star Strider 2019 年 12 月 2 日
Please describe what you want to do.
the ‘f’ assignment and your fminsearch call make no sense.

回答 (1 件)

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH 2019 年 12 月 2 日
solution:
f=@(a) myfunc(X + a * grad);
a = fminsearch(f,0)

Community Treasure Hunt

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

Start Hunting!

Translated by