because NaN or Inf function value encountered during search while using fzero
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a nonlinear equation---5e6-5e6*(exp(-aa*xt)-exp(-bb*xt))/(exp(-aa*1e-6)-exp(-bb*1e-6))=0
I am thinking is that due to the function is too nonlinear, and fzero cannot find the result?
For reference, the results should be 1e-6
aa=810930;
bb=1216395;
func = @(xt) 5e6-5e6*(exp(-aa*xt)-exp(-bb*xt))/(exp(-aa*1e-6)-exp(-bb*1e-6));
x0 = 0.00001;
roots = fzero(func,x0)
0 Kommentare
Akzeptierte Antwort
Matt J
am 2 Jun. 2022
Bearbeitet: Matt J
am 2 Jun. 2022
The problem occurs because func() has no axis crossing.
aa=810930;
bb=1216395;
func = @(xt) 5e6-5e6*(exp(-aa*xt)-exp(-bb*xt))/(exp(-aa*1e-6)-exp(-bb*1e-6));
x0 = 0.00001;
fplot(func,[0,10e-6])
Based on the plot, it appears you should be looking for the minimum of func() rather than a root.
xmin=fminsearch(func,x0)
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Problem-Based Optimization Setup finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
