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

ЛР Численные методы (Трухачев)

.pdf
Скачиваний:
22
Добавлен:
05.06.2015
Размер:
482.29 Кб
Скачать

n

 

(xi , a1 , a2 ,..., am ) yi )2 → min .

(3.1)

i =0

Оптимальный набор параметров a1* , a2* ,..., am* может быть найден из системы

 

n

 

 

 

 

 

∂ϕ

 

 

 

 

 

 

 

 

 

(ϕ (xi

, a1

, a2 ,..., am ) yi )

 

 

 

= 0;

 

a1

 

i =0

 

 

 

 

 

 

 

 

 

x = xi

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

∂ϕ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(ϕ (xi , a1 , a2 ,..., am ) yi )

 

 

 

 

= 0;

(3.2)

a

 

i =0

 

 

2

 

 

 

 

 

 

x = xi

 

 

 

 

 

 

 

 

 

n

 

 

....................

∂ϕ

 

 

 

 

 

 

 

 

 

(ϕ (xi , a1, a2 ,..., am ) yi )

 

 

 

 

 

= 0.

 

 

 

 

 

 

 

 

am

 

 

 

i =0

 

 

 

 

x = xi

 

 

 

 

 

 

Важным частным случаем является представление аппроксимирующей функции ϕ(x) в виде обобщенного многочлена Qm(x):

где {q

 

( x)}m

Qm ( x) = c0 q0 ( x) + c1q1 ( x) + ... + cm qm ( x) ,

(3.3)

j

– некоторая заданная на [a,b] система линейно неза-

 

j =0

 

висимых функций, c0, c1,…, cm – произвольные вещественные числа (коэффициенты обобщенного многочлена).

В этом случае оптимизационная задача принимает вид

n

 

(c0q0 ( xi ) + c1q1( xi ) + ... + cmqm ( xi ) − yi )2 → min .

(3.4)

i=0

Аоптимальный набор параметров c0* , c1* ,..., cm* может быть найден из системы

 

n

 

 

 

 

q0 ( xi )(c0q0 ( xi ) + c1q1( xi ) + ... + cmqm ( xi ) − yi ) = 0;

 

i =0

 

 

 

 

n

q1( xi )(c0q0

( xi ) + c1q1( xi ) + ... + cmqm ( xi ) − yi ) = 0;

 

 

(3.5)

 

 

 

i =0

 

....................

 

 

n

 

 

 

 

 

qm ( xi )(c0q0 ( xi ) + c1q1( xi ) + ... + cmqm ( xi ) − yi ) = 0.

 

i =0

 

 

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

Определение

 

 

скалярного произведения

 

 

( f , g ) = f ( xi )g( xi )

позволяет привести систему к следующему виду:

 

i =0

 

 

 

(q0 , q0 )co + (q0 , q1 )c1 + ... + (q0 , qm )cm = (q0 , f );

 

(q , q

0

)c

o

+ (q , q )c + ... + (q , q

m

)c

m

= (q , f );

 

 

1

 

 

 

 

1 1 1

1

 

 

 

1

 

(3.6)

 

 

 

 

 

 

 

 

 

 

 

 

....................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ (q

 

 

 

 

 

 

 

 

= (q

 

 

(q

m

, q

0

)c

o

m

, q )c + ... + (q

m

, q

m

)c

m

m

, f ).

 

 

 

 

 

 

1 1

 

 

 

 

 

 

 

Если сеточные функции qj(xi) образуют систему линейно независимых элементов, то полученная линейная алгебраическая система имеет заведомо отличный от нуля определитель (определитель Грама) и, следовательно, однозначно разрешима. Таким образом, при заданном базисе {q j ( x)} путем решения системы (3.6)

можно найти единственный обобщенный многочлен

Qm* ( x) = c0*q0 ( x) + c1*q1( x) + ... + cm* qm ( x) ,

имеющий на отрезке [a,b] наименьшее отклонение от функции f(x) в смысле метода наименьших квадратов.

ПОДГОТОВКА К РАБОТЕ

1.Изучить описание лабораторной работы.

2.Написать программу для расчета коэффициентов обобщен-

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

систему алгебраических многочленов {x j }jm=0 . Входные параметры программы:

степень аппроксимирующего полинома;

набор точек xi и значений функции yi в них. Выходные параметры программы:

набор оптимальных коэффициентов обобщенного многочлена c0* , c1* ,..., cm* ;

n

величина отклонения ρ(Qm , f ) = (Qm ( xi ) − yi )2 .

i =0

32

таблица точек xi, значений функции yi и аппроксимирующего полинома Qm(xi).

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1.Отладить программу расчета коэффициентов обобщенного многочлена.

2.Получить оптимальные коэффициенты для разных сочетаний входных данных (степени аппроксимирующего полинома,

набора точек xi и значений функции yi в них). Метод решения СЛАУ необходимо взять из своего варианта.

3.Сделать выводы о результатах расчета при совпадении m и n, а также для случая, когда m>n.

ОТЧЕТ О РАБОТЕ

В отчет о работе необходимо включить:

1.Название и цель лабораторной работы.

2.Постановку задачи.

3.Исходные данные: степень аппроксимирующего полинома, набор точек xi и значений функции yi в них (один из рассмотренных

входе выполнения лабораторной работы наборов входных параметров).

4.Результаты расчета оптимальных коэффициентов обобщенного полинома в этом случае.

5.Таблицу точек xi, значений функции yi и аппроксимирующе-

го полинома Qm(xi), а также величина отклонения ρ(Qm , f ) .

6. Выводы о результатах расчета при совпадении m и n, а также для случая, когда m>n.

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Сформулируйте постановку задачи аппроксимации функ-

ций.

2.Какая формула используется для оценки отклонения обобщенного полинома от заданной функции?

3.Дайте определения расстояния между двумя функциями в случае интегральной и точечной аппроксимации.

33

4. Запишите систему, которая используется для определения коэффициентов ci. Как рассчитываются вспомогательные значения

sk и tk?

5.При каком условии задача точечной аппроксимации функций разрешима?

6.Какой вид имеют коэффициенты обобщенного полинома в случае использования ортонормированной системы функций?

Пример варианта

Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции:

xi

1.12

1.15

1.91

2.50

2.69

2.93

3.11

3.19

yi

10.01

10.05

11.81

12.98

15.12

14.67

12.03

10.05

Метод решения СЛАУ: метод Гаусса.

СПИСОК РЕКОМЕНДОВАННОЙ ЛИТЕРАТУРЫ

1.Вержбицкий В.М. Основы численных методов. М.: Высшая школа, 2002.

2.Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. 3-е изд., перераб. и доп. М.: БИНОМ. Лаборатория знаний,

2003.

34

Работа 4

МЕТОДЫ ЧИСЛЕННОГО ДИФФЕРЕНЦИРОВАНИЯ ФУНКЦИЙ

Ц е л ь : изучение и применение методов численного дифференцирования функций.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

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

отсутствие аналитического вида f(x);

возможное сильное усложнение функции при её аналитическом дифференцировании (что затрудняет нахождение её значений с высокой точностью);

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

Источником формул численного дифференцирования служит

полиномиальная интерполяция. Зная в точках xi=x0+ih (i=0,1,…,n ) значения yi=f(xi), можно построить интерполяционный полином Pn(x), такой что f(x)Pn(x). Используя вспомогательную перемен-

ную q = x x0 , получаем следующие приближенные равенства: h

f ( x) » Pn ( x0 + qh) = y0 + qDy0 + q(q -1) D2 y0 + ... +

2!

+ q(q -1) ×... × (q - n +1) Dn y0 . n!

35

 

 

 

 

 

 

 

 

 

 

 

 

f ′( x) ≈ q

[P ( x + qh)]q =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

n

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

1

 

 

+ q

y0 +

q(q − 1)

 

 

2

 

 

 

 

+

 

q(q − 1)(q − 2)

3

 

 

+

 

=

 

y0

 

 

 

 

 

 

 

 

 

 

y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0

...

 

 

 

 

2!

 

 

 

 

 

 

 

 

 

 

 

 

 

3!

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q

 

 

 

 

=

1

 

+ q y0

+

 

q2 q

 

2 y0 +

q3 − 3q2 + 2q

 

 

 

 

+

 

 

 

 

 

 

y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 y0

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q4 − 6q3 + 11q2 − 6q 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

0

+ ...

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q

 

 

 

 

 

 

 

 

 

 

 

 

=

1

 

 

 

 

 

+

2q − 1

 

 

 

 

 

 

+

 

3q2

− 6q + 2

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

y

0

 

 

 

 

 

 

 

2 y

0

 

 

 

 

 

 

 

 

 

 

3 y

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4q

3

18q

2

+ 22q − 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

4 y0

+ ... .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В случае использования линейной, квадратичной и кубической интерполяции, получим следующие приближенные равенства:

 

f ′( x) ≈

y0 ;

 

 

 

 

 

 

h

 

 

f ′( x) ≈

1

 

+

2q − 1 2

 

 

 

y0

 

 

y0

;

 

2

 

 

h

 

 

 

 

f ′( x) ≈

1

 

 

 

+

2q − 1

 

 

+

3q2 − 6q + 2

 

 

 

 

 

y

0

 

 

2 y

0

 

3 y

0

.

 

 

 

 

 

 

 

 

 

2

 

 

 

6

 

 

 

h

 

 

 

 

 

 

 

 

 

 

Особый интерес представляют частные случаи формул, связывающие приближенное значение производной функции f(x) в узлах x0, x1, … с узловыми значениями самой функции. Точкам x0, x1, x2 соответствуют значения q=0, 1, 2, раскрыв конечные разности через значения yi можно получить:

при n=1:

 

 

 

y1 y0

 

 

f ′( x

0

) ≈ y

=

 

;

(4.1)

 

 

 

0

 

 

h

 

 

 

 

 

 

 

 

 

f ′( x

 

) ≈ y

=

y1 y0

 

;

(4.2)

 

 

1

1

 

 

h

 

 

 

 

 

 

 

 

 

36

при n=2:

f ′( x ) ≈ y

=

1

 

(− 3y

 

+ 4 y y

 

) ;

(4.3)

 

 

 

0

2

0

0

 

2h

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ′( x ) ≈ y

=

1

 

(y

 

 

y

 

);

 

 

 

 

(4.4)

 

 

 

2

0

 

 

 

 

1

1

 

2h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ′( x

 

) ≈ y

=

 

1

(y

 

− 4 y

+ 3y

 

).

(4.5)

2

 

 

0

2

 

2

 

 

2h

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Повторное дифференцирование приближенного равенства приводит к конечно-разностной формуле вычисления второй производной:

f ′′( x) ≈

1

 

2

 

3

 

 

1

 

2

 

4

 

 

 

 

 

y0 + (q − 1)

 

y0

+

 

 

(6q

 

− 18q + 11)

 

y0

+ ... .

h2

 

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наиболее важной в приложениях является простейшая аппрок-

симация второй производной вида f ′′( x) ≈

2 y0

. В этом случае

 

 

 

 

h2

 

для точки x1 будет иметь место приближенное равенство

f ′′( x ) ≈ y′′ =

y0 − 2 y1 + y2

,

 

(4.6)

 

 

1

1

h2

 

 

 

 

 

 

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

Остаточные члены простейших формул численного дифференцирования

Дифференцирование остаточного члена интерполяционной формулы Лагранжа является общим подходом к получению выражений для остаточных членов интерполяционных формул численного дифференцирования.

Остаточный член интерполяционной формулы Лагранжа имеет вид

R

 

( x) = f ( x) − L ( x) =

f (n+1)

(ξ )

Π

n+1

( x) ,

n

(n + 1)!

 

n

 

 

 

 

 

 

 

 

37

где

Ln (x)

интерполяционный многочлен Лагранжа степени n,

построенный по n+1 узлу x0, x1,…, x

 

n; ξ

некоторая точка интервала

(x0, xn); Pn+1( x) = ( x - x0 )( x - x1 ) ×... × ( x - xn ) .

 

 

 

 

 

 

 

 

 

 

 

Отсюда

 

 

 

 

 

 

 

 

 

 

 

 

 

(x) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Rn (x) =

f (x) - Ln

 

 

 

 

 

 

 

 

 

 

 

 

=

1

 

d

 

[f (n+1) (ξ )]P

 

 

(x) + f

(n+1) (ξ )

d

[P

 

 

(x)] .

 

 

 

 

 

 

 

 

n+1

 

n+1

 

 

 

 

(n +1)! dx

 

[f (n+1) (ξ )] ограничена,

 

dx

 

 

 

 

 

 

 

Если величина

 

 

d

то при подстановке в

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

(i=0,1,…,n

)

 

 

 

это

выражение

узловых значений

 

x=xi

за

счет

Pn+1( xi ) = 0

получим более простую формулу остаточного члена в

узлах интерполяции:

f (n +1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ¢( x ) - L¢

( x ) =

 

)

 

 

 

 

 

ξ

 

Î( x , x

 

 

 

 

 

 

 

 

 

i

 

 

( x ),

 

 

i

n

) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

n

 

 

i

(n +

1)!

 

 

 

n+1

 

i

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В

 

 

случае

 

 

 

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

 

узлов

 

 

xi=x0+ih

и

( x

) = (-1)ni i!(n - i)!hn , получаем формулу

 

 

 

 

 

 

 

 

n+1

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i!(n - i)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ¢( x

) - y¢

= (-1)ni

hn f ( n+1)

) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

i

 

 

 

 

 

 

(n +1)!

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отсюда при n=1, i=0 и i=1 можно получить остаточные члены формул (4.1) и (4.2):

f ¢( x

 

) - y¢

= -

h

f ¢¢

 

) ,

f ¢( x ) - y¢

=

h

f ¢¢(ξ ) .

0

 

0

 

 

0

2

 

 

1

1

2

1

 

 

 

 

 

 

 

 

 

В случае n=2, i=0 и i=1 и i=2 для формул (4.3), (4.4) и (4.5) по-

лучаем:

f ¢( x0 ) - y0¢ = h2 f ¢¢¢0 ) ,

3

f ¢( x1 ) - y1¢ = h2 f ¢¢¢1 ) ,

6

f ¢( x2 ) - y2¢ = h2 f ¢¢¢2 ) .

3

Точки ξi в каждой из формул в общем случае отличаются.

38

Для получения остаточных членов конечно-разностных формул вычисления второй производной используется следующее выражение:

 

 

 

 

 

 

 

f ′′( x) − L′′( x) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

=

f ( n+1)

(ξ )

Π′′

 

( x) + 2

f (n +2)

(ξ )

Π′

 

( x) + 2

 

f (n +3)

2

)

Π

 

 

 

 

+1

 

 

1

 

 

 

 

n+1

( x).

 

 

 

 

 

 

 

 

 

 

 

(n + 1)!

n

 

 

(n +

2)!

 

n +1

 

 

(n + 3)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Откуда для формулы (4.6)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ′′( x ) − y

′′ = −

h2

f IV (ξ ) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для производной порядка k {0,1,..., n} может быть использовано следующее выражение:

k

k!

 

 

f ( k ) ( x) − L(nk ) ( x) =

 

f (n+ j +1) j (nk+1 j ) ( x) .

 

 

(k j)!(n

 

j =0

+ j + 1)!

 

 

 

Оптимизация шага численного дифференцирования при ограниченной точности значений функции

Часто в реальных задачах значения функции f(x) в точках xi известны только приближенно. Предположим, что уровень абсолютных погрешностей значений функции в разных узлах примерно одинаков и ограничен числом ∆>0. В этом случае

f ( xi ) (yi − , yi + ).

Рассмотрим влияние неточностей вычисления значений функции на результаты аппроксимации производных. Для примера возьмем простейшую формулу аппроксимации первой производной в узле xi:

 

 

f ( xi +1 ) − f ( xi )

 

h

f ′( xi

) =

 

 

f ′′(ξ ) .

h

2

 

 

 

 

При вычитании приближенных чисел их абсолютные погрешности складываются, поэтому замена точного разностного отношения

f ( xi +1 ) − f ( xi ) приближенным даст ошибку, которую можно оце- h

39

нить по модулю как

2

 

. Погрешность аппроксимации можно оце-

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нить как

M 2

h , где M

2 =

max

 

 

f ′′( x)

 

. Приходим к неравенству

 

 

 

2

 

 

 

 

 

 

x [xi , xi+1 ]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ′( xi ) −

yi+1 yi

 

 

2

+

M 2

h ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

2

 

 

 

 

 

т.е. полная абсолютная

погрешность приближенного равенства

f ′( xi ) ≈

yi +1 yi

оценивается величиной

g(h) =

2

+

M 2

h , в ко-

 

h

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

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

Свести полную погрешность к нулю при отличном от нуля ∆ не представляется возможным, но можно найти такой шаг hопт, при котором эта величина минимальна. Исходя из полученного выражения для полной абсолютной погрешности, величина оптималь-

ного шага есть hопт = 2 , в этом случае gмин = g(hопт ) .

M 2

ПОДГОТОВКА К РАБОТЕ

1.Изучить теорию, необходимую для выполнения лабораторной работы.

2.Вывести аналитическую зависимость полной абсолютной погрешности аппроксимации первой производной от шага h.

3.Написать программу для расчета значения первой производной функции в некоторой точке.

Входные параметры программы:

точка расчета производной;

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

Выходные параметры программы:

значение оптимального шага hопт;

значение первой производной в точке;

величина минимальной полной абсолютной по-

грешности gмин .

40

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