
МатЛаб основы математического анализа / Теория / ОМА_Олейник / КПрОМА Практикум 9
.pdfПрактикум 9. Формула Тейлора
Цель работы – научиться приближенно находить значения функции в окрестности точек с помощью многочленов Тейлора.
Продолжительность работы - 2 часа.
Оборудование – работа выполняется в компьютерном классе с использованием пакета MATLAB.
Порядок выполнения
1.Знакомство со справочным материалом по математике
2.Знакомство со справочным материалом по пакету MATLAB.
3.Изучение примеров.
4.Самостоятельное выполнение упражнений. При выполнении упражнений в случае сообщения системы об ошибке рекомендуется найти и исправить ошибку самостоятельно; однако, если после многократных попыток сделать
это не удается, то можно и нужно проконсультироваться с преподавателем.
P.S. Отчитываться перед преподавателем о выполнении упражнений не нужно. Однако, следует учесть, что их выполнение – залог успешного написания контрольной работы по модулю, поскольку контрольная работа составлена из аналогов упражнений.
Справочный материал по математике
Формула Тейлора
Пусть функция y = f (x) определена в некоторой окрестности точки x0 , имеет в этой окрестности производные до (n −1) -го порядка включительно, и пусть существует f ( n ) ( x0 ) . Тогда
|
f ( x ) |
|
f ( x ) |
|
)2 + ... + |
f |
( n ) ( x |
) |
|
)n + o(( x − x |
)n ) . |
|
f ( x) = f ( x ) + |
0 |
( x − x ) + |
0 |
( x − x |
|
0 |
|
( x − x |
||||
|
|
|
|
|
||||||||
0 |
1! |
0 |
2! |
0 |
|
|
n! |
|
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|||
Эта формула называется формулой Тейлора n -го порядка для функции |
|
f (x) в |
окрестности точки x0 с остаточным членом в форме Пеано.
Многочлен
|
|
|
|
|
|
f ( x ) |
|
|
|
|
f ( x ) |
( x − x )2 |
|
|
f ( n ) ( x ) |
|
)n |
|
|
||
R ( x) = |
f ( x ) + |
|
0 |
( x |
− x |
) + |
|
0 |
+ ... + |
|
0 |
( x − x |
|
|
|||||||
|
|
|
|
|
|
|
|||||||||||||||
n |
|
0 |
|
1! |
|
0 |
|
|
2! |
0 |
|
|
|
|
n! |
0 |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
называется многочленом Тейлора n -го порядка функции |
f (x) |
в точке x0 , |
а слагаемое |
||||||||||||||||||
o(( x − x0 )n ) - остаточным членом в форме Пеано. |
|
|
|
|
|
|
|
|
|||||||||||||
При значениях x достаточно близких к x0 |
значения функции приближенно равны |
||||||||||||||||||||
соответствующим значениям многочлена: |
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
f ( x ) |
|
|
|
f ( x ) |
|
)2 + ... + |
|
f |
( n ) ( x |
) |
|
)n при |
|
|
|
|||
f ( x) f ( x |
) + |
|
0 |
|
( x − x |
) + |
|
0 |
|
( x − x |
|
|
0 |
|
( x − x |
x → x |
|
. |
|||
|
|
|
|
|
|
|
|
|
|
0 |
|||||||||||
0 |
|
1! |
|
0 |
|
2! |
|
0 |
|
|
|
n! |
|
0 |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Это приближенное равенство тем точнее, чем больше n и чем ближе значение x к
x0 .
1
Справочный материал по пакету MATLAB
До сих пор мы рассматривали численные операции, т.е. операции, которые сводились к вычислению значений выражений, содержащих числа или переменные с присвоенными им числовыми значениями. Рассмотрим возможность выполнения символьных операций – математических действий с выражениями, содержащими переменные, у которых нет определенных числовых (такие переменные называются символьными). В результате таких операций получаются математические выражения, также содержащие символьные переменные. Эти выражения будем называть символьными. Символьные переменные и символьные выражения будем называть символьными объектами.
1. Создание символьных переменных
Одну символьную переменную можно создать командой sym следующим образом:
имя переменной = sym ('символьная переменная') >> a=sym('a')
a = a
В примере символьная переменная и ее имя одинаковы. Но можно сделать их разными:
>> b=sym('x') b =
x
Несколько символьных переменных можно создать одной командой syms следующим образом:
syms var1 var2 var3
>> syms b c
Переменные, которые создает команда syms, не выводятся на экран автоматически, даже при отсутствии точки запятой в конце.
2. Создание символьных выражений
1-й способ
>> f=sym('5*x^2+4*x+3*x+2') f =
5*x^2 + 7*x + 2
2-й способ Как только созданы символьные переменные, их можно использовать для создания
символьных выражений.
>>syms a x
>>f=a*2+x^3+3*x
f =
x^3 + 3*x + 2*a
Еще один пример:
>> g=sqrt(4*x) g =
2*x^(1/2)
Обратите внимание: когда вводится символьное выражение, содержащее операции, которые могут быть выполнены (сложение, вычитание, деление, извлечение корня,
2

приведение подобных слагаемых и т.п.), MATLAB выполняет эти операции при создании выражения. При этом все вычисления выполняются точно, без численного приближения.
>>syms c
>>g=c/2+c/3+1/7+3/8
g =
(5*c)/6 + 29/56
Важное о символьных выражениях. Символьные выражения могут включать числовые переменные, которые были получены при выполнении числовых выражений. Когда эти переменные входят в символьные выражения, то используется их значения, хранящиеся в памяти компьютера.
3. Символьное дифференцирование
Символьное дифференцирование может быть выполнено с помощью команды diff. Форматы этой команды:
diff(S) или diff(S,var)
Во втором случае дифференцирование выполняется по переменной var. Пример использования первого формата:
>>f=sym('5*x^2+4*x+3*x+2')
f =
5*x^2 + 7*x + 2
>>diff(f)
ans = 10*x + 7
Пример использования второго формата:
>>syms x a
>>f=a*x^3
f = a*x^3
>>diff(f,x) ans = 3*a*x^2
4. Численные расчеты с символьными выражениями.
Положим, нам надо заменить числами некоторые символьные переменные и вычислить соответствующее численное значение выражения. Это можно сделать при помощи команды subs.
Подстановка числового значения вместо одной символьной переменной
осуществляется с помощью следующего формата команды subs:
R = subs (S, var, number)
Имя символьного |
Переменная, |
Числовое |
выражения |
вместо |
значение (или |
|
которой |
значения), |
|
подставляется |
присваиваемое |
|
числовое |
var |
|
значение |
|
3

Параметр number может быть одним числом, или массивом со многими элементами. Значение S вычисляется для каждого значения number, и результат присваивается R, который бет иметь тот же самый размер, что и number.
Если символьное выражение S имеет одну переменную, то результат R будет числом. Если несколько – символьным выражением.
Набираем: |
Набираем: |
syms x a |
syms y |
S=a*sin(x) |
S=y^2 |
S1=subs(S,a,2) |
s2=subs(S,y,2) |
Получаем: |
Получаем: |
S = |
S = |
a*sin(x) |
y^2 |
s1 = |
s2 = |
2*sin(x) |
4 |
Подстановка числовых значений вместо двух или более символьных переменных осуществляется с помощью следующего формата команды subs:
R = subs (S, {var1,var2}, {number1, number2})
Имя символьного |
Переменные, |
Числовые |
выражения |
вместо |
значения (или |
|
которых |
массивы), |
|
подставляются |
присваиваемые |
|
числовые |
var1 и var2 |
|
значения |
|
Если по крайней мере для одной переменной подставляется числовой массив, то математические операции выполняются поэлементно и результат есть массив чисел. Причем вычисления выполняются поэлементно даже тогда, когда при создании S не использовались поэлементные операции. При этом важно, чтобы все массивы, которыми заменяют символьные переменные, были одинакового размера.
Набираем: |
Получаем: |
|
|
clc |
f = |
|
|
clear |
x*y |
|
|
syms x y |
R = |
|
|
f=x*y |
|
|
|
R=subs(f,{x,y},{[1,2,3],[0, 4, 8]}) |
0 |
8 |
24 |
Упражнения
Упражнение 1
1) Постройте в одной системе координат график функции f (x) (см. п. а) и б)) и график многочленов Тейлора Rn ( x) этой функции в точке x0 = 0 для n = 1, 2, 3, 4,5 .
2) Рассчитайте разности между |
численными |
значениями функции f (x) и |
|||||||
значениями многочленов |
R ( x) |
при |
x = |
|
, , , , , . Результат представьте в |
||||
|
|||||||||
|
n |
|
12 |
8 |
6 |
4 |
3 |
2 |
|
|
|
|
виде таблицы, в первой строке которой разместите указанные значения x , во второй – соответствующие им значения f (x) , в остальных строках – модули разностей значений функции f (x) и многочленов Rn ( x) при указанных значениях x ).
4

а) f (x) = sin x |
|
б) f (x) = cos x |
|
|||||
Упражнение 2 |
|
|
|
|
|
|||
Постройте в |
одной |
системе координат график функции f (x) и график |
||||||
многочленов Тейлора Rn ( x) этой функции в точке x0 |
для n = 1, 2, 3, 4 . |
|||||||
|
|
|
x = 1 |
б) f ( x) = |
2x −1 |
, |
x = 2 |
|
а) f ( x) = x , |
||||||||
|
||||||||
|
|
|
0 |
|
x −1 |
0 |
||
|
|
|
|
|
|
Список литературы и информационных ресурсов
1. Сборник задач по математике для втузов [Текст]: Учеб. пособие для втузов: В 4-х ч. Ч. 2: [Введение в анализ; Дифференциальное и интегральное исчисление функций одной переменной; Дифференциальное исчисление функций нескольких переменных; Кратные интегралы; Дифференциальные уравнения] / Под ред. А.В. Ефимова, А.С. Поспелова. - 5-е изд., перераб. и доп. - М.: Физматлит, 2009.
2. В.Г.Потемкин "Введение в Matlab" (v 5.3) http://matlab.exponenta.ru
3. Мещеряков В.В. Задачи по математике с MATLAB&SIMULINK – М.: ДИАЛОГ-МИФИ, 2007
4. Амос Гилат. MATLAB. Теория и практика. 5-е изд./ Пер. с англ. Смоленцев Н.К. – М.:ДМК Пресс, 2016.
5. http://matlab.exponenta.ru
5