fsolve returns non-integer exitflag

Hi everyone,
I am experiencing a strange problem. For as far as I know an exitflag should always be an integer (identifying the reason the algorithm terminated). However when solving my problem with fsolve, the exitflag turns out to be a non-integer: 1.329410886565489.
fsolve did not find a solution, but that is perfectly possible. The exitflag being a non-integer value on the other hand seems really strange to me.
What could be the problem?
Kind regards, Corrado Sirianni

5 个评论

Just out of curiosity, could you attach your code?
I would like to, but that's somewhat complicated because it's a really long script (divided over several functions and m-files) leading to the equations to be solved (system of two equations). I'm computing the admissibility domain for expansion shock waves in the near-critical region of methane, carbon dioxide and ethylene.
Actually, I have the same problem with any other equations I'm trying to solve with fsolve. The exitflag is never an integer...
Can you at least show your call to FSOLVE, and maybe a bit of the surrounding code like the set-up of the initial x0 and the selection of options using OPTIMSET or OPTIMOPTIONS?
for iso_GAMMA = 2
dlmwrite('Prho_coordinates_iso_gamma.dat',[iso_GAMMA iso_GAMMA],'delimiter',' ','newline','pc','-append')
for teta = -1:0.01:1
[r,exitflag] = fsolve(@fun_iso_gamma,0.01)
if r > 0.0585
continue
end
if r < 0
continue
end
. . . . . . etc. etc.

请先登录,再进行评论。

 采纳的回答

I guess that you are interpreting the output of fsolve incorrectly. As stated in the function reference page, the outputs of fsolve are, in this order:
[x,fval,exitflag,output,jacobian] = fsolve(...)
exitflag is always the third output. I would bet that the third output that you obtain from solve is an integer, whatever name you give it.
Alan Weiss
MATLAB mathematical toolbox documentation

1 个评论

You are totally right! I forgot the order is also of importance! Thank you very much Alan!

请先登录,再进行评论。

更多回答(0 个)

类别

Community Treasure Hunt

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

Start Hunting!

Translated by