I’m all new to Matlab and I’m supposed to use this function to find all 3 zero spots.
f.m (my file where the function can be found)
function fval = f(x)
% FVAL = F(X), compute the value of a test function in x
fval = exp(-x) - exp(-2*x) + 0.05*x - 0.25;
So obviously I write “type f” to read my function but then I try to do like fzero (‘f’, 0) and I get the ans 0.4347 and I assume that’s 1 of my 3 zero spots but how to find the other 2?
From fzero documentation
So it can’t find all zeros by itself, only one! Which one depends on your inputted
x0.Here’s an example of how to find some more zeros, if you know the interval. However it just repeatedly calls
fzerofor different points in the interval (and then still can miss a zero if your discretization is to coarse), a more clever technique will obviously be faster:http://www.mathworks.nl/support/solutions/en/data/1-19BT9/index.html?product=ML&solution=1-19BT9
As you can see in the documentation and the example above, the proper way for calling fzero is with a function handle (
@fun), so in your case:From this info you can also see that the actual roots are at
0.434738,1.47755and4.84368. So if you call fzero with 0.4, 1.5 and 4.8 you probably get those values out of it (convergence of fzero depends on which algorithm it uses and what function you feed it).