Matlab имеет функции для вычисления биномиальных коэффициентов (количества комбинаций), и конечный ряд может быть выражен как умножение матрицы Я покажу, как это работает для суммы в первом уравнении. Обратите внимание на использование поэлементных «пунктирных» форм арифметических операторов.
Рассчитать вектор строки coefs
с постоянными коэффициентами в сумме как:
octave-3.0.0:33> a = 0:20;
octave-3.0.0:34> coefs = log2(a * 0.05 + 1) .* bincoeff(20, a);
Переменные объединяются в другой вектор:
octave-3.0.0:35> y1 = 0.99;
octave-3.0.0:36> y2 = 0.01;
octave-3.0.0:37> z = (y2 .^ a) .* ((1 - y2) .^ a) .* (y1 .^ a);
И тогда сумма просто оценивается как внутренний продукт:
octave-3.0.0:38> coefs * z'
Другие суммы аналогичны.