Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2024

.pdf
Скачиваний:
3
Добавлен:
15.11.2022
Размер:
1.09 Mб
Скачать

Задания для самостоятельной работы

Найти решение нелинейного уравнения на заданном интервале с точностью 0.01 с помощью метода половинного деления, метода хорд и метода Ньютона. Сравнить методы по числу итераций, за которые получено решение:

2.1.

x2

3x 4 0, [0,1.5].

2.2.

x3 x 1 0, [0, 1].

41

3. МЕТОДЫ АППРОКСИМАЦИИ ФУНКЦИЙ

3.1. Постановка задачи аппроксимации функций

Вычисление значения функции y f(x) - одна из самых распространенных задач, с которой постоянно приходится сталкиваться при проведении как научных, так и прикладных исследований. Если функция f(x) задана аналитически и является относительно простой, то ее вычисление не вызывает никаких проблем. Однако непосредственное вычисление функции затруднено в следующих ситуациях:

1) функция f(x) задана таблицей из n своих значений

yi

f(xi), i 1,2,...,n,

и нужно вычислить функцию в точках, отличных от xi ;

2) вычисление

значения функции f(x) связано с

проведением сложных расчетов и приводит к значительным затратам времени или вычислительных ресурсов, которые могут оказаться неприемлемыми, если функция f(x) нужно считать многократно или значение f(x) надо получить быстро;

3) значения функции f(x) находятся из эксперимента и, скорее всего, содержат ошибки эксперимента.

В таких случаях функцию f(x) приближенно заменяют более простой функцией (x), которая может быть быстро и надежно вычислена. В зависимости от критерия выбора функции (x) выделяют несколько типов задач поиска приближенных значений функции.

Если необходимо функцию f(x) приближенно заменить функцией (x) так, чтобы отклонение (x) от f(x) в заданной области было минимальным, то решается задача

аппроксимации

и

функция

(x)

называется

аппроксимирующей.

 

 

 

 

42

Если необходимо, чтобы приближенная функция (x)

совпадала с функцией f(x) на заданном множестве точек xi ,

i 1,...,n,

т.е.

f(xi) (xi),

то

решается

задача

интерполирования (или интерполяции)

функции,

а точки xi

называются узлами интерполяции.

 

 

 

 

Пусть

x1 и

xn - граничные узлы отрезка,

на котором

осуществляется интерполяция функции. Если необходимо найти значение функции f(x) в точке x, не принадлежащей

отрезку [x1, xn], то решается задача экстраполяции функции. Этот метод приближения часто используется для прогнозирования характера протекания тех или иных процессов при значениях параметров x, выходящих за пределы отрезка наблюдения. Надежность такого прогноза при значениях x, отдаленных на значительное расстояние от отрезка [x1, xn], как правило, невелика.

Для построения приближенной функции (x) применяются такие методы, как разложение функции f(x) в ряды, замена функции многочленом и т.п.

3.2. Линейная и квадратичная интерполяция

Простейшим видом интерполяции является линейная интерполяция. Она состоит в том, что заданные точки (xi,yi)

i 1,...,n,

соединяются

прямолинейными отрезками, и

функция

f(x) заменяется

ломаной с вершинами в точках

(xi,yi).

Для построения интерполяционного многочлена используется уравнение прямой, проходящей через две точки. Запишем уравнение прямой, проходящей через точки (xi 1,yi 1) и (xi,yi), в следующем виде:

y yi 1 x xi 1 .

yi yi 1

xi xi 1

43

xi xi 1

Отсюда

y aix bi,

xi 1 x xi,

ai yi yi 1 , bi yi 1 aixi 1.

Если задано n узлов интерполяции, то надо построить (n 1) таких уравнений.

При квадратичной (или параболической) интерполяции

в качестве интерполяционной функции на отрезке (xi 1,xi 1)

служит

квадратный

трехчлен,

уравнение

которого

записывается в виде

 

 

 

 

 

y aix2 bix ci

xi 1 xi xi 1.

 

Для определения неизвестных коэффициентов ai,bi,ci запишем три уравнения, означающие условия прохождения параболы через точки (xi 1,yi 1), (xi,yi) и (xi 1,yi 1):

aixi2 1 bixi 1 ci yi 1,

aixi2 bixi ci yi,

aixi2 1 bixi 1 ci yi 1.

Пример. Функция y f(x) задана таблицей значений

 

 

x

0.15

 

0.30

0.40

 

0.55

 

Найти

y

2.17

 

3.63

5.07

 

7.78

помощью

значение

функции

при

x 0.32 с

линейной и квадратичной интерполяции.

 

 

 

xi 1 0.30

Значение x 0.32

находится между узлами

и xi 0.40.

Подставим

эти значения в

формулу линейной

интерполяции:

 

yi yi 1

 

5.07 3.63

 

 

 

 

 

 

ai

 

14.4,

 

 

 

xi xi 1

0.40 0.30

 

 

 

 

 

 

 

 

 

 

bi yi 1 aixi 1 3.63 14.4 0.30 0.69, y 14.4x 0.69 14.4 0.32 0.69 3.92.

44

Теперь воспольуемся формулой квадратичной интерполяции. Составим систему уравнений с учетом ближайших к точке x 0.32 узлов xi 1 0.15, xi 0.30,

xi 1 0.40:

0.152ai 0.15bi ci 2.17,

0.302ai 0.30bi ci 3.63, 0.402ai 0.40bi ci 5.07.

Решая эту систему, находим ai 18.67, bi 1.33, ci 1.55. Тогда искомое значение функции

y18.67 0.322 1.33 0.32 1.55 3.89.

3.3.Многочлен Лагранжа

Наиболее простым и исследованным случаем интерполяции является замена исходной функции, заданной

таблицей

точек

(xi,yi),

i 0,...,n,

алгебраическим

 

 

n

 

 

многочленом Pn(x) aixi , таким, что Pn(xi) yi .

i 1

Такому требованию удовлетворяет интерполяционный многочлен Лагранжа. Запишем его в виде

n

Ln(x) yili(x) y0l0(x) y1l1(x) ... ynln (x),

i 1

где

n

(x x

j

)

 

li (x)

 

 

.

 

 

 

j 1

(xi xj)

j i

 

 

 

 

Наиболее часто используется многочлен Лагранжа первой, второй и третьей степени. Запишем формулы многочлена первой и второй степени:

45

 

 

L (x) y

 

 

 

 

(x x1)

 

y

 

 

(x x0)

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

0 (x

0

x )

1

 

(x

1

x

0

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

2

(x) y

 

 

 

(x x1)(x x2)

 

 

y

 

 

(x x0)(x x2)

 

 

 

 

 

 

 

 

 

 

 

 

)

 

 

 

 

 

 

 

 

)

 

 

0 (x

0

x

1

)(x

0

x

2

 

1

(x

1

x

0

)(x

1

x

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y2

 

 

(x x0)(x x1)

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x2 x0)(x2 x1)

 

 

 

 

 

 

 

 

 

 

 

 

Пример.

 

Пусть

 

 

 

 

задана

 

таблица

значений

функции

y x2 :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

1

 

 

 

 

2

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

1

 

 

 

 

4

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

Необходимо найти значение функции в точке x 2.6.

Подставим

 

x 2.6

 

в

 

 

формулу

 

для

 

многочлена

Лагранжа первой степени, используя значения x0 2

и x1 3:

 

 

L (2.6) 4

(2.6 3)

9

(2.6 2)

 

 

7.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

(2 3)

 

 

 

 

 

(3 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь определим искомое значение функции с

помощью многочлена второй степени:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L2(2.6) 1

(2.6 2)(2.6 3)

4

(2.6 1)(2.6 3)

 

 

 

 

 

 

 

 

 

 

 

 

 

(1 2)(1 3)

 

 

 

 

 

 

 

 

 

 

(2 1)(2 3)

 

 

 

 

 

 

 

 

 

9

(2.6 1)(2.6 2)

 

6.76.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3 1)(3 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.4. Многочлен Ньютона

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим

 

случай

 

равноотстоящих

 

значений

аргумента, т.е.

 

xi xi 1 h const ,

 

i 1,...,n,

где

h - шаг

интерполяции.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введем понятие конечных разностей. Пусть функция

задана

 

таблицей

 

значений

(xi,yi).

 

 

Составим

разности

последовательных значений функции:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

46

y0 y1 y0,y1 y2 y1,

...

yn 1 yn yn 1.

Эти значения называют конечными разностями первого порядка. Разности второго порядка определяются следующим образом:

2y0 y1 y0,2y1 y2 y1,

...

2yn 2 yn 1 yn 2.

Аналогично разности k-го порядка вычисляются по формуле

kyi k 1yi 1 k 1yi,

i 0,...,n 1.

Запишем формулу для многочлена Ньютона в следующем виде

N(x) y0

 

y0

t

2y0

t t 1

3y0

t t 1 t 2

 

2!

 

 

1!

 

3!

 

... ny0 t t 1 ... t n 1, n!

где t (x x0)/ h.

Данное выражение называется первым многочленом Ньютона для интерполирования вперед. Оно может аппроксимировать функцию y f(x) на всем отрезке [x0,xn ],

однако, с точки зрения повышения точности расчетов более целесообразно использовать первый многочлен Ньютона для вычисления значений функции в точках левой половины рассматриваемого отрезка.

47

Для правой половины отрезка [x0,xn ] разности лучше

использовать

второй

многочлен

Ньютона

для

интерполирования назад:

 

 

3yn 3

 

 

N(x) yn

yn 1

q

2yn 2

 

q q 1

q q 1 q 2

 

 

 

 

1!

2!

 

 

 

3!

 

 

... ny0 q q 1 ... q n 1, n!

где q (x xn )/h.

Пример. Вычислить в точке x 0.1 значение функции,

заданной таблицей

 

 

 

 

 

 

 

 

 

 

 

 

x

 

0

 

 

0.2

 

 

0.4

 

0.6

 

0.8

1

 

 

 

 

y

 

1.272

 

4.465

 

5.644

 

5.809

 

3.961

2.101

 

 

 

 

Для

построения многочлена Ньютона найдем конечные

разности и запишем их в табл. 8.

 

 

 

 

Таблица 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

y

 

 

y

 

 

2y

 

3y

 

4y

 

5y

 

 

0

 

1.272

 

3.193

 

-2.014

 

1.000

 

-1.999

 

4.999

 

 

 

0.2

 

4.465

 

1.179

 

-1.014

 

-0.999

 

3.000

 

 

 

 

 

0.4

 

5.644

 

0.165

 

-2.013

 

2.001

 

 

 

 

 

 

 

0.6

 

5.809

-1.848

 

-0.012

 

 

 

 

 

 

 

 

 

0.8

 

3.961

-1.860

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2.101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конечные разности вычислены следующим образом:

y0 y1 y0 4.465 1.272 3.193,y1 y2 y1 5.644 4.465 1.179,

...

2y0 y1 y0 1.179 3.193 2.014,

...

5y0 4y1 4y0 3.000 ( 1.999) 4.999.

48

Подставим в формулу для первого многочлена Ньютона полученные конечные разности и значение x 0.1:

t (x x0)/ h (0.1 0)/0.2 0.5,

N(0.1) 1.272 3.193 0.5 2.0140.5 0.5 1 1! 2!

1 0.5 0.5 1 0.5 2 1.9990.5 0.5 1 0.5 2 0.5 3 3! 4!

.4.9990.5 0.5 1 0.5 2 0.5 3 0.5 4 3.398. 5!

Теперь используем для нахождения значения функции второй многочлен Ньютона:

q (x xn )/h (0.1 1)/0.2 4.5,

N(0.1) 2.101 ( 1.860) ( 4.5) 0.012( 4.5) 4.5 1 1! 2!

2.001( 4.5) 4.5 1 4.5 2 3!

3.000( 4.5) 4.5 1 4.5 2 4.5 3 4!

.4.999( 4.5 4.5 1 4.5 2 4.5 3 4.5 4 3.402. 5!

Контрольные вопросы

1. В каких ситуациях возникает необходимость замены функции на приближенную? Какие существуют виды аппроксимации функции?

3.В чем заключается линейная и квадратичная интерполяция?

4.Какому требованию должен отвечать интерполяционный многочлен?

5.В каких случаях лучше использовать интерполяционный многочлен Лагранжа, первый и второй интерполяционные многочлены Ньютона?

49

Задания для самостоятельной работы

3.1. Для функции

f(x) x

построена таблица

значений:

 

 

 

 

 

 

x

4

 

9

16

 

 

f(x)

1.272

 

4.465

5.644

 

С помощью многочлена Лагранжа определить значение функции в точке x 10.

3.2. С помощью многочлена Лагранжа определить

значение функции, заданной таблично, в точке x 4:

 

 

 

 

 

 

x

 

1

 

3

 

5

 

 

 

 

 

 

 

f(x)

 

4.5

 

7.4

 

6.8

 

 

 

 

 

3.3. Для функции, заданной таблично, вычислить

значение в точке

x 0.1

с помощью: а)

первого многочлена

Ньютона; б) второго многочлена Ньютона.

 

 

 

x

0

 

0.2

 

0.4

 

0.6

 

0.8

 

1

 

 

f(x)

1.272

 

4.465

 

5.644

 

5.809

 

3.961

 

2.101

 

50

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]