summation operation in matlab

2 views (last 30 days)
joe khese
joe khese on 13 Mar 2014
Edited: Marta Salas on 14 Mar 2014
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
Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh on 13 Mar 2014
What is this in your quesion?
% Bp = (Toi.^N)/(factorial(N)) / symsum(Toi.^[0:N]./ factorial([0:N]));
end
thanks
joe khese
joe khese on 14 Mar 2014
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)

Mischa Kim
Mischa Kim on 13 Mar 2014
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
Mischa Kim
Mischa Kim on 14 Mar 2014
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);

Community Treasure Hunt

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

Start Hunting!