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

25 vues (au cours des 30 derniers jours)
John wick
John wick le 13 Sep 2019
Commenté : Adam le 13 Sep 2019
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 commentaires
John wick
John wick le 13 Sep 2019
Modifié(e) : John wick le 13 Sep 2019
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
Adam
Adam le 13 Sep 2019
Well, you need to interpret that exitflag and react accordingly if it reports there was no result.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Line Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by