Azzera filtri
Azzera filtri

fsolve no solution found results

2 visualizzazioni (ultimi 30 giorni)
Fernando
Fernando il 18 Lug 2023
Commentato: Fernando il 18 Lug 2023
Hello,
I wanted to ask what does fsolve do after no solution has been found and it stops interating? Is the output the last iteration or does it output the initial conditions?
Also, is there a way when no solution has been found to tell it to output nothing, or for example an array of zeros?
Kind regards.

Risposta accettata

Matt J
Matt J il 18 Lug 2023
Modificato: Matt J il 18 Lug 2023
Is the output the last iteration or does it output the initial conditions?
It is the last iteration, as you can easily test, .e.g.,
fsolve( @(x) x^2+1,10 )
No solution found. fsolve stopped because the problem appears regular as measured by the gradient, but the vector of function values is not near zero as measured by the value of the function tolerance.
ans = 5.5834e-09
Essentially, if no solution exists, fsolve can be thought of as a least squares solver.
Also, is there a way when no solution has been found to tell it to output nothing
No, but there is no reason why your code can't do its own post-assessment of the result after fsolve completes.

Più risposte (1)

Chunru
Chunru il 18 Lug 2023
doc fsolve for more details.
[x, fval, exitflag, output] = fsolve() % check out exitflag and output

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by