Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы (пособие).pdf
Скачиваний:
84
Добавлен:
16.05.2015
Размер:
965.85 Кб
Скачать

17

f(x)=

ì

1, x [

0;π

],

í

- 1, xÎ

(-

π ;0).

 

î

Изобразить график периодического (с периодом ) продолжения функции f (x) . Установить, к чему сходится ряд Фурье. Найти наилучшее среднеквадратическое приближение функции f (x) на [−π;π] в множестве тригонометрических многочленов n-й степени

æ

α0

n

ö

ç

 

÷

ç

2

+ å (αk cos kx + βk sin kx) ÷.

è

k =1

ø

Решение:

Найдем тригонометрический ряд Фурье для функции f (x) . Функция определена на [−π;π]. Поэтому мы воспользуемся формулами для ряда Фурье при l = π :

 

 

 

f (x) = a0

 

 

 

 

+ å(ak cos kx + bk sin kx) .

 

 

 

 

2

k =1

 

 

Вычислим коэффициенты Фурье:

 

 

1

π

, поскольку подынтегральная

функция

ak =

 

ò f (x) cos kxdx = 0

π

 

−π

 

 

 

нечетная, а интеграл берется в симметричных пределах.

b

 

=

 

1

π

f (x)sin kxdx = 2

1

π

sin kxdx =

2

(− coskx)

 

π

=

 

 

k

π

ò

π

ò

πk

 

 

 

 

 

 

 

 

0

 

 

 

2

 

 

−π

 

2

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

(− cosπk + 1) =

(1− (− 1)k ).

 

 

 

 

 

 

πk

πk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь использовано, что cosπk = (−1)k . Таким образом, разложение функции в тригонометрический ряд Фурье будет иметь вид:

f (x) = 2 (1−(−1)k ) sin kx .

kå=1π k

График периодического (с периодом ) продолжения функции f (x) изображен на рис. 1. Обозначим это продолжение f (x).

Рис. 1

Согласно теореме 2, ряд Фурье будет сходиться к f (x) во всех

18

точках x из [−π;π], кроме точек x = 0, x = −π и x = π . В этих точках

терпит разрыв первого рода периодическое продолжение f (x).

 

~

В

 

точке

 

x = 0

ряд

Фурье

будет

сходиться

к

~

(0 + 0)

 

 

 

f (0 − 0) + f (0 + 0)

 

 

 

 

 

 

 

 

f

(0 − 0) + f

=

 

= (−1) +1

= 0.

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

точке

2

2

Фурье

будет

сходиться

к

 

 

В

 

x = −π

 

ряд

 

f ((− π ) − 0) + f ((− π ) + 0)

=

 

f ((− π ) − 0) + f ((− π ) + 0)

= 1+ (−1)

= 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

x = π

2

2

 

 

 

~

В

 

точке

 

ряд

Фурье

будет

сходиться

к

~

(π + 0)

 

 

f (π −

~

 

 

 

 

 

 

 

 

f

(π − 0) + f

 

=

0) + f (π + 0)

= 1+ (−1) = 0 .

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

 

 

 

 

 

 

 

Наилучшим приближением для функции f (x) в множестве

тригонометрических

 

многочленов

n

степени

æ

α0

n

ç

+ å (αk

ç

2

è

k =1

ö

является частичная сумма ряда Фурье:

cos kx + βk sin kx) ÷÷

ø

 

n

2

(1− (−1)k )sin kx .

fn (x) = å

 

k =1πk

 

2.Найти наилучшее среднеквадратичное приближение

функции f (x) = sin x , определенной на отрезке [−1;1], в семействе

2

многочленов вида åαk χk (x).

k =0

Решение:

Определим многочлены Лежандра до второго порядка по формуле Родрига:

χ0 (x) =1, χ1(x) = x, χ2 (x) = 12 (3x2 −1).

Найдем коэффициенты Фурье.

 

 

1

1

c0

=

òsin x dx = 0 .

 

 

2

−1

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

 

 

3

1

c1

=

ò x sin x dx .

 

 

2

−1

Вычислим сначала неопределенный интеграл:

òx sin x dx = = òxd(−cos x) = x(−cos x) ò(−cos x)dx = x cos x + sin x + C .

Продолжим вычисление с1:

c

=

3 (

x cos x

+

sin x)

 

1

=

3

((

cos1

+

sin1)

(cos(

1)

+

sin(

1)))

=

=3(sin1−cos1) .

 

1

2

 

 

 

−1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c2

=

5 1 1ò(3x2

−1)sin x dx = 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 2

−1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19

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

Искомое приближение представляет собой частичную сумму ряда Фурье:

2

f2 (x) = åck χk (x) = = c1χ1( x) = 3x(sin1− cos1) ≈ 0,66137x .

k =0

3. Дана таблица значений y j = f (x j ), ( j =1, 2 , , N ) некоторой функции y = f ( x) . Значения эти имеют значительные погрешности. Методом наименьших квадратов строится наилучшее приближение

1

функции в семействе многочленов 1-го порядка: ϕ1( x) = åαi xi = ax + b.

i=0

Составить алгоритм для вычисления коэффициентов a и b этого приближения.

Решение:

Исходные данные для алгоритма: N, x j , y j ( j =1, 2 , , N ).

Результаты: a , b . Вначале по формулам

 

1

N

1

N

1

N

M x =

 

åx j , M y =

 

åy j , M xy =

 

åx j y j ,

 

 

 

 

N j =1

N j =1

N j =1

вычисляются величины M x , M y , M xy , M x2 . Далее проверяется условие

M x2 - M x2 ¹ 0 .

M x2 = N1 åN x2j ,

j =1

Если оно выполняется, то вычисляются значения коэффициентов a и b по формулам

ì

~

Mxy MxM y

 

ïa = a =

 

,

Mx2 - Mx2

í

~

 

ï

~

 

îb = b =

M y - Mxa,

 

и строится график приближения и табличные точки. В противном случае строятся только табличные точки.

4. Дана таблица значений y j = f (x j ), ( j =1, 2 , , N ) некоторой функции y = f ( x) . Значения эти имеют значительные погрешности. Методом наименьших квадратов строится наилучшее приближение

функции в семействе многочленов n-го порядка:

Составить алгоритм для вычисления коэффициентов для вычисления значений функции y = ϕn ( x) .

n

ϕn ( x) = åαi xi .

i=0

αi , а также

20

Решение:

Исходные данные для алгоритма: n, N, x j , y j ( j =1, 2 , , N ).

Результаты: αi (i =0 ,1, , n) .

Вначале вычисляются элементы матрицы и правой части системы

n æ

1

N

 

ö

1

N

 

 

 

ç

 

 

i+ p ÷

 

 

p

,

p = 0,1,..., n .

åç N

åx j

÷αi = N

åy j x j

i=0è

 

j =1

 

ø

 

j =1

 

 

 

Далее происходит обращение к алгоритму решения линейной системы методом Гаусса. С его помощью вычисляются αi (i =0 ,1, , n) , если матрица системы невырожденная. Если же матрица системы вырожденная, приближение не определяется.

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

вида:

nc

= Bp , p =1,2, , nc .

Здесь nc

- порядок

системы,

åAp iri

 

i=1

 

-

элементы

матрицы

системы,

Ap i , p =1,2, , nc , i =1,2, , nc

B p , p =1,2, , nc

- компоненты

правой

части, ri , i =1,2, , nc -

компоненты решения. Наша система имеет другой вид, поскольку нумерация компонентов векторов и матриц там начинается с нуля, а не с 1. Для того чтобы привести нашу систему к нужному виду,

сделаем сдвиг индексов, заменим везде в формулах i на i-1 , а p - на p-1. Новые индексы будут изменяться от 1 до n+1:

n+1æ

1

N

i+ p−2

ö

1

N

p−1

 

 

ç

 

 

÷

 

 

 

p =1,2..., n +1.

åç

 

åx j

÷αi =

 

åy j x j

,

N

N

i=1è

 

j =1

 

ø

 

j =1

 

 

 

Таким образом, перед обращением к алгоритму решения линейной системы методом Гаусса необходимо задать исходные данные для него в виде: nc = n +1,

 

æ

1

N

i+ p−2

ö

 

ç

 

 

÷

Ap i =

 

 

åx j

, p =

ç N

 

j =1

 

÷

 

è

 

 

ø

Степени xij+p−2

и

 

 

1

N

1,2, , nc ,i =1,2, , nc ,

Bp =

åy j x jp−1, p =1,2, , nc .

 

 

 

N j =1

x jp−1 в программе

лучше

вычислять в виде

произведений

xij+ p−2

i+p−2

x jp−1

p−1

могут быть

= x j ,

= x j , поскольку x j

 

 

l=1

 

l=1

 

отрицательными или равными 0, в то время как операция возведения в степень работает только для положительных аргументов. По окончании решения системы методом Гаусса мы получим ri , i =1,2, , nc . Значения искомых коэффициентов мы получим с помощью обратного сдвига индекса: αi = ri+1, i = 0,1, , n .

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