Gradient of a self defined function.

Hi there, I created a function similar to this one:
function [scalar] = myfunc(vector)
% stuff happening here
end
So it takes a vector and returns a scalar. I am interested in this: if i start with any given vector, how should I adjust it so that the scalar of the function maximizes. So I want the gradient of my function basically. How do I get it?
If I try:
a = myfunc(b);
gradient(a)
I get an error. How am I supposed to get the gradient? Any help is appreciated!

回答 (1 件)

Arun Mathamkode
Arun Mathamkode 2018 年 1 月 30 日

0 投票

It looks like you are passing a vector to myfunc and it returns a scalar. Now you want to adjust the vector such that the scalar is maximum.
I think rather than looking for finding the gradient you can use the fmincon function. First, you need to convert the maximization problem into a minimization problem as described here. Then you can pass the function handle of the myfunc to the fmincon function along with an initial guess of the vector b.

カテゴリ

質問済み:

2018 年 1 月 27 日

回答済み:

2018 年 1 月 30 日

Community Treasure Hunt

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

Start Hunting!

Translated by