Fmincon solution is same as initial guess

1 Ansicht (letzte 30 Tage)
Samy Alkhayat
Samy Alkhayat am 14 Jul. 2021
Hello,
My Fmincon function does not minimize the cost function, instead, it reports the same initial guess provided to it. Please help with recommendations to the piece of code below:
function J=cost_function(y)
for i=1:size(a,1)
AA = y0*b(i,:)';
BB = y0*c(i,:)';
CC = (y0(1).*c(i,1)/BB)*c(i,1) + (y0(2).*c(i,2)/BB)*c(i,2);
DD = y0*d(i,:)';
EE = y0*e(i,:)';
all(i,:)=[AA, BB, CC, DD, EE];
end
J=sum(abs(all(1,:) - x(1:5)') ./ x(1:5)')^2;
The script calculates the a, b, c, d, e,....... and passes them to the function along with "y0".
Please advise, and thanks in advance

Akzeptierte Antwort

Sulaymon Eshkabilov
Sulaymon Eshkabilov am 14 Jul. 2021
Bearbeitet: Sulaymon Eshkabilov am 14 Jul. 2021
THere are a couple of errs oin your fcn, i.e. y0, a,b,c,d not defined. Moreover, x is not defined.
function J=cost_function(y0, a, b, c, d, e, x)
for i=1:size(a,1)
AA = y0*b(i,:)';
BB = y0*c(i,:)';
CC = (y0(1).*c(i,1)/BB)*c(i,1) + (y0(2).*c(i,2)/BB)*c(i,2); % Check: multiplied and divided by c(i,1) and c(i,2)
DD = y0*d(i,:)';
EE = y0*e(i,:)';
all(i,:)=[AA, BB, CC, DD, EE];
end
J=sum(abs(all(1,:) - x(1:5)') ./ x(1:5)')^2;
  4 Kommentare
Samy Alkhayat
Samy Alkhayat am 14 Jul. 2021
Thank you very much.
Sulaymon Eshkabilov
Sulaymon Eshkabilov am 15 Jul. 2021
Most welcome!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by