Скачиваний:
17
Добавлен:
30.09.2023
Размер:
258.61 Кб
Скачать

Практикум 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