user6548945
user6548945

Reputation: 7

MATLAB sum series function

I am very new in Matlab. I just try to implement sum of series 1+x+x^2/2!+x^3/3!..... . But I could not find out how to do it. So far I did just sum of numbers. Help please.

for ii = 1:length(a)
    sum_a = sum_a + a(ii)
    sum_a



end

Upvotes: 0

Views: 372

Answers (3)

Luis Mendo
Luis Mendo

Reputation: 112769

Cheery's approach is perfectly valid when the number of terms of the series is small. For large values, a faster approach is as follows. This is more efficient because it avoids repeating multiplications:

m = 10;
x = 2;
result = 1+sum(cumprod(x./[1:m]));

Example running time for m = 1000; x = 1;

tic
for k = 1:1e4
    result = 1+sum(cumprod(x./[1:m]));
end 
toc

tic
for k = 1:1e4
    result = sum(x.^(0:m)./factorial(0:m));
end 
toc

gives

Elapsed time is 1.572464 seconds.
Elapsed time is 2.999566 seconds.

Upvotes: 0

James
James

Reputation: 753

The second part of your answer is:

n = 0:input('variable?')

Upvotes: 0

Cheery
Cheery

Reputation: 16214

n = 0 : 10; % elements of the series
x = 2;  % value of x
s = sum(x .^ n ./ factorial(n)); % sum

Upvotes: 1

Related Questions