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

12 次查看(过去 30 天)
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 个评论
John wick
John wick 2019-9-13
编辑:John wick 2019-9-13
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 2019-9-13
Well, you need to interpret that exitflag and react accordingly if it reports there was no result.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by