How to optimize (minimize) a Vector function
Mostra commenti meno recenti
I need to minimize a vector function at all points of x f(x) = a+b*x+c*x^2+d*x^3. The values of a,b,c,d has to be optimized for the same. Is their any algorithm in matlab that can do the same? I used gamultiobj algorithm for the same, but it generated a large number of these values for each pareto point. I just need a single set of value for the same.
Risposta accettata
Più risposte (5)
deboshree roy
il 30 Mar 2016
0 voti
2 Commenti
Torsten
il 30 Mar 2016
Say you have a=b=c=d=1 and x(1)=1 and x(2)=2.
Now what do you mean by
However, the value of a,b,c,d parameters has to be changed, such that I obtain a f(x) value that is minimum at all x.
Best wishes
Torsten.
Walter Roberson
il 31 Mar 2016
fminsearch is for vector functions not just scalar. The function has to take one parameter but it is expected to be a vector.
deboshree roy
il 30 Mar 2016
0 voti
2 Commenti
Torsten
il 30 Mar 2016
I don't understand.
Change a to -Inf, b,c and d to 0. Then a minimum value for all x is reached, namely f(x)=-Infinity.
Best wishes
Torsten.
Walter Roberson
il 31 Mar 2016
Your function takes a vector x. You want the minimum f(x) for all x. So you are trying to minimize all members of the vector simultaneously. How do you want to account for the fact that the parameters a b c d that give you the minimum f(x(1)) might give you a larger f(x(2))? If you have two possible sets of a b c d, how do you decide which of the two is better over the entire vector?
Did I see you mention Pareto?
deboshree roy
il 30 Mar 2016
0 voti
2 Commenti
deboshree roy
il 30 Mar 2016
Torsten
il 30 Mar 2016
Could you post the objective you are using ?
Best wishes
Torsten.
deboshree roy
il 30 Mar 2016
Modificato: Walter Roberson
il 5 Apr 2016
3 Commenti
Torsten
il 30 Mar 2016
So your f is a vector of the form
f=[cos(t(1)/T+phi(1))+cos(3*t(1)/T+phi(2))+...+cos(19*t(1)/T+phi(10));
cos(t(2)/T+phi(1))+cos(3*t(2)/T+phi(2))+...+cos(19*t(2)/T+phi(10));
...
cos(t(n)/T+phi(1))+cos(3*t(n)/T+phi(2))+...+cos(19*t(n)/T+phi(10))]
And what's your aim now ? Determine phi such that the maximum of the vector components is minimized ?
Best wishes
Torsten.
Torsten
il 30 Mar 2016
Then use fminimax from the optimization toolbox.
Best wishes
Torsten.
deboshree roy
il 30 Mar 2016
deboshree roy
il 4 Apr 2016
0 voti
Categorie
Scopri di più su Choose a Solver in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!