Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методички / TROPA V MATLAB_new.doc
Скачиваний:
68
Добавлен:
17.09.2018
Размер:
2.26 Mб
Скачать

7.11 Разложение в ряд Тейлора – команда taylor

В задачах аппроксимации и приближения функций f(x) важное место занимает их разложение в ряд Тейлора в окрестности точки a:

f(x) = .

Частным случаем этого ряда при a = 0 является ряд Маклорена:

f(x) = .

Для получения разложения аналитической функции f в ряд Тейлора (и Маклорена) служит команда taylor:

taylor(f) – возвращает разложение в ряд Маклорена до шестой степени. В общем случае, когда небходимо получить разложение в ряд Тейлора до n - й степени в точке a, относительно которой находится разложение, используется команда taylor(f,n,x,a).

Примеры разложения в ряды Тейлора и Маклорена функции cos(x):

>> syms x

>> taylor(cos(x))

ans =

1-1/2*x^2+1/24*x^4

>> taylor(cos(x),5,x,2)

ans =

cos(2)-sin(2)*(x-2)-1/2*cos(2)*(x-2)^2+1/6*sin(2)*(x-2)^3+1/24*cos(2)*(x-2)^4

Пример:

Получить разложение в степенной ряд по степеням x «функции ошибок»

Erf(x) = dt,

которая не выражается в конечном виде через элементарные функции.

Решение:

>> syms x t

>> Pi=sym('pi');

>> taylor(2/sqrt(Pi)*int(exp(-t^2),t,0,x))

ans =

2/pi^(1/2)*x-2/3/pi^(1/2)*x^3+1/5/pi^(1/2)*x^5

>> [m]=simple(ans)

m =

1/15*x*(30-10*x^2+3*x^4)/pi^(1/2)

>> pretty(m)

2 4

x (30 - 10 x + 3 x )

1/15 -------------------------

1/2

pi

Команда taylortool приводит к появлению окна приложения, изображенного на рис. 7.1.

Рис.7.1.

Пользователь может вводить формулы различных функций в строке f(x) =

и исследовать приближение функции на произвольном интервале отрезком ряда Тейлора, содержащим различное число членов разложения.

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.

Соседние файлы в папке Методички