How is f(x) evaluated for each iteration using fsolve?
8 views (last 30 days)
Show older comments
I'm using fsolve for an unconstrained non-linear function. And I notice that fval is much different than f(x) for the last iteration. How exactly is f(x) calculated?
13 Comments
Accepted Answer
Martijn
on 15 Jan 2019
The values shown under f(x) in the iteration table are indeed not literally the function values at that given iteration, you are seeing the square of the norm of the function value vector here; as documented, see:
The reason for this is that "fsolve" can actually solve whole systems of equations where f(x) would then be a whole vector of values. Displaying this whole vector in the table is not really feasible, there is not enough space for that. Hence, instead, a measure is shown which basically summarizes the whole f(x) vector in a single measure which also actually is representative for how good the current solution is.
We could look into whether we can perhaps change the header to ||f(x)||^2 in future releases to better illustrate this.
More Answers (1)
See Also
Categories
Find more on Surrogate Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!