logo
для вялички / TROPA V MATLAB_21

7.12 Вычисление суммы ряда – команда symsum

В математическом анализе часто приходится вычислять сумму значений функции f(i) при условии, что аргумент i этой функции (индекс суммирования) принимает целочисленные значения, изменяющееся в замкнутом интервале [a;b], т. е.

Sum = .

Такие суммы принято называть конечными. При b = ∞ можно говорить о бесконечной сумме (в смысле бесконечного числа членов ряда). Для аналитического вычисления суммы ряда служит команда symsum(f, i, a, b), возвращающая сумму ряда

.

Справку по symsum можно получить, введя команду doc symsum.

Пример:

Найти сумму числового ряда

.

Решение:

>> syms n

>> symsum(1/n^2,n,1,inf)

ans =

1/6*pi^2

Таким образом,

= .

Пример:

Найти сумму числового ряда

.

Решение:

>> syms n

>> symsum((-1)^n/n,n,1,inf)

ans =

-log(2)

В результате получили

= -ln2.

Пример:

Найти сумму числового ряда

.

Решение:

>> syms n

>> symsum(1/n^3,n,1,inf)

ans =

zeta(3)

>> vpa(ans,8)

ans =

1.2020569

Результат выражается через дзета - функцию Римана (справку по этой функции можно получить с помощью команды doc zeta) и равен

= zeta(3) ≈ 1,2020569.

Пример:

Найти сумму числового ряда

.

Решение:

>> syms s n

>> symsum(cos(n*pi)/n^2,n,1,inf)

ans =

-hypergeom([1, 1, 1],[2, 2],-1)

>> vpa(ans,8)

ans =

-.82246703

Результат выражается через гипергеометрическую функцию (справку по этой функции можно получить, введя команду doc hypergeom) и равен

= -hypergeom([1, 1, 1], [2, 2], -1) ≈ -0,82246703.

Возможно суммирование слагаемых, зависящих не только индекса, но и от некоторой символьной переменной. Если в слагаемые входит знак факториала, то в этом случае следует использовать команду sym.

Пример:

Найти сумму функционального ряда

.

Решение:

>> syms x k

>> symsum(x^k/sym('k!'), k, 0,inf)

ans =

exp(x)

Таким образом,

= ex.

Пример:

Найти сумму числового ряда

.

Команда symsum возвращается без результата:

>> syms n

>> symsum(cos(n)/n^2,n,1,inf)

ans =

sum(cos(n)/n^2,n = 1 .. inf)

>> vpa(ans,8)

ans =

sum(cos(n)/n^2,n = 1 .. inf)

Это свидетельствует о том, что система MATLAB не нашла сумму ряда.

Пример:

Найти конечную сумму

.

Решение:

>> syms k

>> symsum(k^2,k,0,10)

ans =

385

Сумма равна 385.

Пример:

Найти конечную сумму с переменным верхним пределом n

.

Решение:

>> syms k n

>> symsum(k^2,k,0,n)

ans =

1/3*(n+1)^3-1/2*(n+1)^2+1/6*n+1/6

>> pretty(ans)

3 2

1/3 (n + 1) - 1/2 (n + 1) + 1/6 n + 1/6

Пример:

Найти конечную сумму с переменным верхним пределом n

.

Решение:

>> syms k n

>> symsum(cos(k*pi/2),k,1,n)

ans =

1/2*sin(1/2*(n+1)*pi)-1/2*cos(1/2*(n+1)*pi)-1/2

Для аналитического вычисления произведения ряда служит команда product. Справку по ней можно получить, введя команду mhelp product.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4