Finding an approximation for cos(x) using for loops
Afficher commentaires plus anciens
Hi there,
I recently got help on creating a script to calculate the value of cos(x) using for loops. The question asks:
"Write a script which will calculate the value of cos(x) (ask the user for the value of x and n):
cos(x)=( from k=1 –> n )∑(-1) ̂(k-1)(x ̂(2(k-1))/(2(k-1))!)
" I had real problems getting the answer and so asked a tutor to help me with it. She managed to get the code working but I failed to understand how it actually works. (her explanation was not very clear)
So, I have sat staring at it for ages and it still doesn't make sense to me.
Here it is:
% Ask user for values x, n
x=input('Please enter a value for x: '); %cos angle
x_rad=x*pi/180;
n=input('Please enter a value for n: '); %nth term
%factorial
fact=1;
sum=0;
for k=1:n
initial=-1;
for a=0:(k-1)
initial=(-1)*initial;
end
numerator=1;
for b=1:2*(k-1)
numerator=numerator*x_rad;
end
for t=1:2*(k-1)
fact=fact*t;
end
total=(initial*numerator)/fact;
sum=sum+total;
end
fprintf('cos(%d)=%6.6f \n',x,sum);
Can anyone explain how this code is working in the for loop? I am so confused.
Also, any advice on a simpler way to do this?
Thanks so much, Laura
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!