Whats wrong with my code? Taylor series Approx with error

When I take out the error if statement, the code works just fine and displays all iterations. However, with the error statement in (line 7 of code) the m file runs but will not display any answers.
x = 0.9;
true = sin(x);
s = 0; %initialize sum
for n = 0:20
f = (((-1)^n)*x^((2*n)+1))/(factorial((2*n)+1)); %McLauren Series for sin function
s = s+f; %sum the start with the series
error = ((true-s)/true)*100; %Percent Error Formula
if error < 0.0001 ,break;end
fprintf('%f\t %f\t %f\t\n',true,s,error);
end

Réponses (1)

You probably just need an absolute value
error = abs((true-s)/true)*100; %Percent Error Formula
That being said, true and error are names of existing MATLAB functions. You should probably pick different names such as true_value and err.

Catégories

En savoir plus sur Mathematics 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!

Translated by