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

Mischa Kim
Mischa Kim 2014년 3월 7일
Just out of curiosity, could you attach your code?
Corrado
Corrado 2014년 3월 7일
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.
Corrado
Corrado 2014년 3월 7일
편집: Corrado 2014년 3월 7일
Actually, I have the same problem with any other equations I'm trying to solve with fsolve. The exitflag is never an integer...
Matt J
Matt J 2014년 3월 7일
편집: Matt J 2014년 3월 7일
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.

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

 채택된 답변

Alan Weiss
Alan Weiss 2014년 3월 7일

2 개 추천

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

Corrado
Corrado 2014년 3월 7일
You are totally right! I forgot the order is also of importance! Thank you very much Alan!

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

추가 답변 (0개)

카테고리

질문:

2014년 3월 7일

댓글:

2014년 3월 7일

Community Treasure Hunt

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

Start Hunting!

Translated by