I\'ve written the function:
function [sum] = func(a,b)
sum = 0;
for i = 0:b
sum = sum + ((a.^i)/(factorial(i)));
end
In the console, the co
f = @(x,i) (x.^i)./factorial(i)
r=f(10,0:50); %50 terms in taylor series more than enough for good approx.
cumsum(r)
1.0e+04 *
0.0001
0.0011
0.0061
0.0228
....
2.202646579479054
2.202646579480280
Verify
>> exp(10)
2.202646579480672e+04
Well, if you don't index sum
with i
, you return a single value.
Try instead:
function [sum] = func(a,b)
% Pre-allocate sum at the right size
sum = NaN(1,b+1);
% Compute
for i = 0:b
sum(i+1) = sum(i+1) + ((a.^i)/(factorial(i)));
end
Best,