Whats wrong with my code? Taylor series Approx with error

3 Ansichten (letzte 30 Tage)
Rachel Watts
Rachel Watts am 31 Mär. 2020
Beantwortet: James Tursa am 1 Apr. 2020
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

Antworten (1)

James Tursa
James Tursa am 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.

Community Treasure Hunt

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

Start Hunting!

Translated by