Fmincon seems to repeat a number of times the same set of variables

조회 수: 2 (최근 30일)
Robert Jones
Robert Jones 2022년 7월 14일
댓글: Torsten 2022년 7월 14일
Hello,
Fmincon seems to repeat a number of times the same set of variables.
Not sure why?
What am I missing?
Thanks

답변 (1개)

Steven Lord
Steven Lord 2022년 7월 14일
Do you mean that fmincon appears to evaluate your function at the same point multiple times?
If so, how have you checked that those points are actually identical? It's possible they are very slightly different, but that the change is small enough that it doesn't change how the number is displayed in the default format if that's how you're checking. In the example below a and b are displayed the same but their stored values are not the same.
a = pi
a = 3.1416
b = a + 1e-6
b = 3.1416
b == a % false
ans = logical
0
  댓글 수: 2
Robert Jones
Robert Jones 2022년 7월 14일
I see. I have displayed only 2 digits. I will extend to 6 digits
Thank you
Torsten
Torsten 2022년 7월 14일
In a fixed point x0, fmincon has to calculate the gradient of your objective function and the Hessian numerically. This is done via finite-difference approximations:
df/dxi @ x=x0 ~ (f(x10,...,xi0+h,...,xn0) - f(x10,...,xi0,...,xn0))/h
So if you output x in your objective function with a limited number of digits, you might get the impression that
(x10,...,xi0+h,...,xn0) equals (x10,...,xi0,...,xn0).

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by