MATLAB Answers

0

Write a MATLAB code to estimate the exponential function. Inputs should be x and n. The outputs must include approximate value, true value, error, absolute error, and relative error.

Asked by Tony Gillard on 21 Sep 2019 at 1:06
Latest activity Commented on by James Tursa
on 21 Sep 2019 at 1:22
This is what I have but it's not working.
function e_to_x = exp_taylor(x,n)
e_to_x = 0;
for k = 1:n
e_to_x = e_to_x + (x^(k-1))/factorial(k-1);
end
end
approx =exp_taylor(1,3);
fprintf("Approximate value %.8f\n",approx);
fprintf("True value %.8f\n",exp(1));
truevalue = exp(1);
relerror = abs(truevalue - approx)/truevalue;
fprintf("Relative error is: ");
disp(relerror);
aberror = abs(truevalue - approx)/approx;
fprintf("Absolute error is: ");
disp(aberror);

  1 Comment

Please be specific about what "not working" means. E.g., when I run your code I get:
>> exp(1)
ans =
2.718281828459046
>> exp_taylor(1,3)
ans =
2.500000000000000
>> exp_taylor(1,10)
ans =
2.718281525573192
>> exp_taylor(1,20)
ans =
2.718281828459046
which looks good to me ...

Sign in to comment.

1 Answer

Answer by James Tursa
on 21 Sep 2019 at 1:19

Put your function code for e_to_x() in a separate file called e_to_x.m somewhere on the MATLAB path. Then put your other code that calls e_to_x() in a separate file and run that separate file.

  0 Comments

Sign in to comment.