I've defined the function:
function zeros = findzeros(myf,n_points,min,max) x = ones(n_points,1); starting_points=linspace(min,max,n_points);% warning('off')
for i=1:n_points try x(i) = fzero(myf, starting_points(i)); catch fprintf('No root found'); end end x = x(x>=min); zeros = [x(diff(x)>1e-12); x(1)];end
In the while looping if often happens that there's an error. I tried using trycatch as suggested elsewhere, but it still results in error messages such as:
Exiting fzero: aborting search for an interval containing a sign change because no sign change is detected during search.Function may not have a root.
And there's no messa 'No root found' printed. How can I fix this?
Best Answer