fminunc stopped because it exceeded the function evaluation limit, options.MaxFunEvals = 100000 (the default value).
조회 수: 8 (최근 30일)
이전 댓글 표시
Hello, I have this discretized functional called F1 (objective multivariable function) and I need to minimize it. Then, I have used FMINUNC to find the minimizer function "x" (solution) and the value of the objective function evaluated in the solution. However, that error occurs. How can I solve i?
function y=F1(U, N)
N=1000;
y = 0;
d = 3/(N-1);
U(1)=2;
U(N)=3;
for j=1:N-2
y = y + (d/2)*((U(j)*(1+((U(j+1)-U(j))/(d))^2)^0.5)+(U(j+1)*(1+((U(j+2)-U(j+1))/(d))^2)^0.5));
end
y = y;
Then;
options = optimoptions(@fminunc,'Display','iter','Algorithm','quasi-newton');
fun = @F1;
v0= ones(1,1000);
[x,fval] = fminunc(fun,v0,options);
fval
댓글 수: 6
Walter Roberson
2021년 3월 26일
You (now) have
function y=F1(U, N)
N=1000;
Is there a reason why you overwrite N immediately inside the function?
It seems to me that it would make more sense for you to have
function y = F1(U)
N = length(U);
Walter Roberson
2021년 3월 26일
There is a minima of -infinity at careful combinations of 0 and -infinity .
답변 (1개)
Chidvi Modala
2021년 3월 31일
You may refer to the following documentation on how to resolve this issue
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!