Как разрешить эту формулу в Matlab (сумма комбинаций) - PullRequest
0 голосов
/ 17 декабря 2011

Как разрешить эту простую формулу в Matlab?

enter image description here

Это сумма комбинаций. Есть функция nchoosek для получения количества комбинаций (n, k).

nchoosek(k+m, i) найдет это для i. Но как найти для всех диапазонов i?

Итак, единственный способ решить эту проблему - написать цикл? Или я могу сделать это inline - с функциями Matlab?

1 Ответ

2 голосов
/ 17 декабря 2011

Если сумма изменяется от 0 до m+k, тогда ответом является 2^(m+k), итерации не требуется.Если сумма от 1 до m+k, то ответ 2^(m+k)-1.

Если вы настойчивы, то цикл for выглядит следующим образом:

s = 0;
for i=1:qu
  s = s + nchoosek(m+k,i);
end

Функция nchoosek может принимать вектор в качестве первого аргумента, но не в качестве второго.

...