Using the incremental search method or otherwise to locate one root of the function

Use Matlab's fzero function or your own method to locate all roots of the function,
f ( x ) = cos ( − 5 x ^3 + 6 x ^2 + 4 x − 3 )
on the interval [1,2] if they exist then plot the function on the interval marking the roots with red circles of size 3.
If there are no roots on your interval then use the incremental search method or otherwise to locate one root of the function and plot it with a red circle of size 3 along with the function.
I have arrived with the code down below but is there a way to add the one that says "If no roots" in the code below
f = @(x)cos(-5.*x.^3+6.*x.^2+4x-3);
fplot(f,[1,2]);
hold on;
for n = 1:0.1:2
k = fzero(f,n);
plot(k, 0,'ro','MarkerSize',3);
end

3 Comments

[x,fval,exitflag,output] = fzero(___)
syntax for fzero returns an exit flag whose various values are described in
doc fzero
I have very rarely used this function and not on something without roots so I don't know what is returned as x in this case, but you may also simply be able to tell from that if it is empty or NaN or something else clearly not valid.
Thank you for the comment!
So as i should change, it should be something like this in order for it to answer the problem of if no roots. Other structure is fine so i only need to change the fzero part.
f = @(x)cos(-5.*x.^3+6.*x.^2+4.*x-3);
fplot(f,[1,2]);
hold on;
for n = 1:0.1:2
[k,fval,exitflag,output] = fzero(f,n);
plot(k, 0,'ro','MarkerSize',3);
end
Well, you need to interpret that exitflag and react accordingly if it reports there was no result.

Sign in to comment.

Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Asked:

on 13 Sep 2019

Commented:

on 13 Sep 2019

Community Treasure Hunt

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

Start Hunting!