Fmincon solution is same as initial guess
조회 수: 1 (최근 30일)
이전 댓글 표시
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
채택된 답변
Sulaymon Eshkabilov
2021년 7월 14일
편집: Sulaymon Eshkabilov
2021년 7월 14일
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
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!