Whats wrong with my code? Taylor series Approx with error

11 views (last 30 days)
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

Answers (1)

James Tursa
James Tursa on 1 Apr 2020
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.

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!