Fmincon solution is same as initial guess
1 view (last 30 days)
Show older comments
Samy Alkhayat
on 14 Jul 2021
Commented: Sulaymon Eshkabilov
on 15 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
0 Comments
Accepted Answer
Sulaymon Eshkabilov
on 14 Jul 2021
Edited: Sulaymon Eshkabilov
on 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 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!