Stupid question about multinomial theorem (and Matlab)

  • MATLAB
  • Thread starter AiRAVATA
  • Start date
  • #1
173
0

Main Question or Discussion Point

I know that there is a theorem to calculate the coefficients for a multinomial expansion, but I'm having a hard time implementig the algorithm. What I need to know is if my procedure is correct:

[tex](A + B + C + D)^n = \sum_{i=0}^n \dbinom{n}{i} A^{n-i} (B + C + D)^i[/tex]

[tex]= \sum_{i=0}^n \dbinom{n}{i} A^{n-i} \sum_{j=0}^i \dbinom{i}{j} B^{i-j} (C + D)^j[/tex]

[tex]= \sum_{i=0}^n \dbinom{n}{i} A^{n-i} \sum_{j=0}^i \dbinom{i}{j} B^{i-j} \sum_{k=0}^j \dbinom{j}{k} C^{j-k} D^k,[/tex]

so

[tex](A + B + C + D)^n = \sum_{i=0}^n \sum_{j=0}^{i} \sum_{k=0}^{j}\dfrac{n!}{(n-i)!(i-j)!(j-k)!k!} A^{n-i} B^{i-j} C^{j-k} D^k [/tex]

Is that correct?

If so, I'm trying to compute the coefficients in Matlab in the following way

Code:
h = 1;
for i = 1:n
     for j = 1:i
          for k = 1:j
               coef(h,1) = factorial(n)/(factorial(n-i)*factorial(i-j)*factorial(j-k)*factorial(k))
               h = h+1;
          end
     end
end
so the vector coef contains the coefficients of the polynomial. What do you think? Is my approach correct or am I doing something wrong?
 

Answers and Replies

  • #2
tiny-tim
Science Advisor
Homework Helper
25,832
249
Hi AiRAVATA! :smile:
I know that there is a theorem to calculate the coefficients for a multinomial expansion, but I'm having a hard time implementig the algorithm. What I need to know is if my procedure is correct:

[tex](A + B + C + D)^n = \sum_{i=0}^n \sum_{j=0}^{i} \sum_{k=0}^{j}\dfrac{n!}{(n-i)!(i-j)!(j-k)!k!} A^{n-i} B^{i-j} C^{j-k} D^k [/tex]

Is that correct?
Yes, though it's normally written for an individual component:

coefficient of AaBbCcDd = n!/a!b!c!d! (with a + b + c + d = n) :wink:

(I don't know anything about porgramming though :redface:)
 
  • #3
47
0
not being smart but should it not be:

Code:
for i = [B]0[/B]:n
     for j = [B]0[/B]:i
          for k = [B]0[/B]:j
 
  • #4
173
0
True, in the real code they all start from zero. Thanks for noticing though!
 

Related Threads for: Stupid question about multinomial theorem (and Matlab)

Replies
1
Views
2K
Replies
1
Views
464
Replies
7
Views
4K
Replies
1
Views
27K
Replies
10
Views
3K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
10
Views
3K
Top