My current code follows, but is in error when I enter "1" as the input. DO you see the problem?:
function [est k ] = approximate_e( delta )%APPROXIMATE_E Summary of this function goes here
% Detailed explanation goes here
n =1;est = 0;while abs(exp(1)-est)>delta if n ==1 est = 1; end if n == 2 est = 2; end if n >2 est = est+1/prod(1:(n-1)); end fprintf "e is %d and n is %d: \n",est,n k = n; n = n + 1; if n >10000 fprinf "n is greater than 10000.\n" break; endend
I'm trying to solve for the problem statement below:
Write a function called approximate_e that uses the following formula to compute e, Euler’s number:
Instead of going to infinity, the function stops at the smallest k for which the approximation differs from exp(1) (i.e., the value returned MATLAB’s built-in function) by no more than the positive scalar, delta, which is the only input argument. The first output of the function is the approximate value of e, while the second is k. (Note: if your program or the grader takes a long time, you may have created an infinite loop and need to hit Ctrl-C on your keyboard.) You are not allowed to use the built-in function factorial.
Best Answer