How to compute cost function for fmincon?

7 Ansichten (letzte 30 Tage)
hinami
hinami am 21 Sep. 2020
Bearbeitet: hinami am 21 Sep. 2020
Hi all, I'm performing an optimization using fmincon as follows:
r=[0.22 9.94 0.08;
0.16 0.95 0.08;
0.07 0.87 0.08];
R = [0.49; 0.42; 0.19];
x = fmincon(@(x) norm(r*x-R)^2, ones(3,1)/3, [], [], ones(1,3), 1, zeros(3,1), []);
Here, I wan to use a cost function for this optimization.
where , and x is a vector of initial guess values.
Could you somebody help me with this?
  1 Kommentar
Matt J
Matt J am 21 Sep. 2020
The cost function you have shown is vector-valued. Do you mean to minimize its Euclidean norm?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 21 Sep. 2020
Bearbeitet: Matt J am 21 Sep. 2020
r=[0.22 9.94 0.08;
0.16 0.95 0.08;
0.07 0.87 0.08];
R = [0.49; 0.42; 0.19];
omega=0.1;
gamma=150;
fun=@(x) norm( (r*x-R) + omega*(1-tanh(x*gamma)-gamma*tanh(x-1) ) )^2 ;
x = fmincon(@(x) fun, ones(3,1)/3, [], [], ones(1,3), 1, zeros(3,1), []);
  4 Kommentare
hinami
hinami am 21 Sep. 2020
Yes, this works fine.
hinami
hinami am 21 Sep. 2020
Bearbeitet: hinami am 21 Sep. 2020
Now it works fine with
r=[0.22 9.94 0.08;
0.16 0.95 0.08;
0.07 0.87 0.08];
R = [0.49; 0.42; 0.19]
omega=0.1;
gamma=150;
x = fmincon(@(x) norm( r*x-R + omega*(1-tanh(x*gamma)-tanh((x-1)*gamma)) )^2, ones(3,1)/3, [], [], ones(1,3), 1, zeros(3,1), []);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Nonlinear Optimization finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by