How can I obtain the right convergence number from what I have done so far??

1 次查看(过去 30 天)
Hello Everybody, I hope you are doing well.
I was asked to write a script which calculates the number of terms or iterations needed for a taylor series approximation of cos(x) to converge using a while.
The condition requires that the loop should continue as long as abs(Estimate – Previous Estimate) exceeds 0.00001.
Here is my script:
clc
clear
PreviousEstimate = inf;
x = input('Enter the angle in radians: ');
Count = 0;
Estimate = 1;
while abs(Estimate - PreviousEstimate) > 0.00001
Estimate(Count+1) = (-1)^Count*(x.^(2*Count))/factorial(2*Count);
Count = 0 + 1;
PreviousEstimate = Estimate;
end
fprintf('%i terms required for convergence. \n',Count)

采纳的回答

Mathieu NOE
Mathieu NOE 2021-1-11
hello
this seems to work better - :)
clc
clear
x = input('Enter the angle in radians: ');
Count = 0;
Estimate = inf;
PreviousEstimate = 0;
while abs(Estimate - PreviousEstimate) > 1e-6
PreviousEstimate = Estimate;
Estimate = (-1)^Count*(x.^(2*Count))/factorial(2*Count);
Count = Count + 1;
end
fprintf('%i terms required for convergence. \n',Count)
  4 个评论
Edivaldo Bartolomeu
My bad Mathieu you are absolutely right, I made a mistake in the first attempts.
Thanks for your help.

请先登录,再进行评论。

更多回答(0 个)

类别

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

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by