summation operation in matlab

hello, i am trying to write a code to implement the summation operation but having errors the equation is below. my code is
A=rand(1,10);
N = 6;
for b = 1:N
syms A;
Pb = (A.^N/factorial(N)) / symsum ((A.^i)/(factorial(i)),i,0,N);
% Bp = (Toi.^N)/(factorial(N)) / symsum(Toi.^[0:N]./ factorial([0:N]));
end
and i keep getting this error
??? Error using ==> factorial at 17
N must be a matrix of non-negative integers.
Error in ==> ERLANGB_TEST at 7
Pb = (A.^N/factorial(N)) / symsum ((A.^i)/(factorial(i)),i,0,N);
thanks for your anticipated help.

2 Comments

What is this in your quesion?
% Bp = (Toi.^N)/(factorial(N)) / symsum(Toi.^[0:N]./ factorial([0:N]));
end
thanks
that is the code i wrote to implement the equation above but i keep getting this error N must be a matrix of non-negative integers.

Sign in to comment.

Answers (3)

Joe, use
syms A ii
N = 6;
Pb = A^N/factorial(N)/(symsum(A^ii/factorial(ii),0,N)); % symbolic expression
sPb = subs(Pb,A,3); % substitute 3 for A to get numeric result

1 Comment

What release are you working with?
What happens when you replace in the equation
factorial(N)
by
sym('N!')

Sign in to comment.

joe khese
joe khese on 14 Mar 2014
thanks Mischa. I tried what u suggested but still getting the same error. N must be a matrix of non-negative integers.
Marta Salas
Marta Salas on 14 Mar 2014
Edited: Marta Salas on 14 Mar 2014
You must define i as a symbolic variable too, otherwise i is defined as the sqrt(-1)
syms A i
N = 6;
Pb = (A.^N/factorial(N)) / symsum ((A.^i)/factorial(i),i,0,N);

Asked:

on 13 Mar 2014

Edited:

on 14 Mar 2014

Community Treasure Hunt

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

Start Hunting!