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

1 Ansicht (letzte 30 Tage)
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)

Akzeptierte Antwort

Mathieu NOE
Mathieu NOE am 11 Jan. 2021
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 Kommentare
Edivaldo Bartolomeu
Edivaldo Bartolomeu am 12 Jan. 2021
My bad Mathieu you are absolutely right, I made a mistake in the first attempts.
Thanks for your help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by