Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы Часть 5..pdf
Скачиваний:
9
Добавлен:
15.11.2022
Размер:
7.37 Mб
Скачать

разложения для 2, 4, 8, 64 сегментов постоянной длины; для ука­ занной последовательности определить погрешности аппроксима­ ции; исследовать зависимость погрешности аппроксимации от дли­ ны h сегментов; исследовать сходимость процесса аппроксимации; оценить быстродействие вычислительной программы.

Разрешающие соотношения

Для повышения порядка аппроксимации функции cos х система функций (1.12) на каждом из сегментов дополняется кусочно-непре­ рывными полиномами1 Ф-_1/2М третьей степени (рис. 1.17):

Ф,-1 (*)=(*, ~x)/h,

Ф/-1/2(*) = - 4 ( х - хм )(х - X,.)/ h2

(1.14)

Ф/-1/2(•*) = ~4 ( х ~ X i-1Х* x i - 1/2Л’*' X i ) / Ь >

Ф ,(х)=(х-х,_,)//г.

Рис. 1.17. Кусочно-непрерывные полиномы третьей степени на сегменте [0, к]

1Общее число пробных функций п = Ът + 1.

Это, в свою очередь, требует вычисления дополнительных инте­ гралов для формирования системы уравнений (1.3):

 

л

 

 

 

4

х,

 

 

 

 

 

 

{фм/2Мф, {x)dx = - —

|(х - xw )2 (*- хн г \х - x i)dx =

 

_4

(*-*,-i)5 ,

3h (x - x ^ )A [ t f j x - x ^ f

У

 

.

т -

Л3

5

 

 

8

 

6

“ 30-

1 = 1т;

 

я

 

 

 

4

 

 

 

 

 

 

 

J q U М ф»

= тз

/(*-■*/X*- л',>1/2X*-*,>.

 

 

 

_4

( х - х ж )5

| 3h {x -xM)4 | Л»2(дс-х|Ч.,)3

 

 

 

 

Л3

 

5

 

8

 

6

= _ 30’

/ = 0’т _ 1 ;

н

 

 

 

1 6

j(* - хн X (* - х--'пh - х<f dx=

 

/ ф;-1/2 Ы ф н рМ * = ^?

16

{ x - x ,f

| М *-*,)5

! ^2( ^ - ^ ) 4

, ^(-^--У/)3

= 0, / = 1,т ;

h4

6

 

2

 

2

6

 

 

 

 

 

 

jk-l/2Wf^

)(*- */-1 )2(Х- Xl-V2 } ( x - x i) 2dx = \ т

(х -* ,)7 +

| /г(х-х,)6

| 13/г2(х-х,.)5 | 3/?3(х-дг,)4

( /г4(х -х ,)3

 

2Л3

,

2

 

 

20

 

 

8

12

 

 

/ = 1,/я;

 

 

 

 

 

105

 

 

 

 

 

4

х*

 

 

Xk)

c

o

s =

|ф*-1/2cosxdx = ~ 7 J

J(x “ **-■Xх xk-v2X* -

= --p-|(3x2 - 6 )COSJC+ (JC3 -6x)sin x - ( x kA +**-1/2 + x k-i)x

X^2JCCOSX + (X2 - 2 ) sin *]} + (**-Л-1/2 + x k-\/2x k + * Л -i)x

x(cos x + x s i n x ) - хк_ххк_шхкsin =

j — {cos**,, -co sx A:)+^-(sinA:A:_1-l-sinx*), &= l,w . h

Система 3/w + l линейных алгебраических уравнений относи­ тельно коэффициентов ai9 i = 0,т, разложения (1.2) получается после подстановки полученных значений интегралов в выражение (1.3). Матрица коэффициентов и правая часть этой системы уравнений принимают вид

А/З

А/З

-А 2/30

А/6

0

0

0

0

А/3

8А/15

0

А/З

0

0

0

0

-А 2/ 30

0

2A3/l05

А2/30

0

0

0

0

А/б

А/З

а2/ зо

2А/3

А/З

-А 2/30

А/6

0

0

0

0

А/З

8А/15

0

А/З

0

0

0

0

- а2/ зо

0

2A3/l05

А2/30

0

0

0

0

А/6

А/З

а2/ зо

2А/3

0

0

0

0

0

0

0

0

А/З

(1-cos h)jh

- 4 ( l + cosA)//H-8sinA/A2

(2h2-2 4 )(l-co sA )/A 2 + 12sinA/A

-(l-2 c o sA + cos2A)/A

<-4(cosA + cos2A)/A-8(sinA-sin2A)/A2

(2A2 -2 4 (cosA-cos2A)/A2 + 12(sinA + sin2A)/A

-(cos A - 2 cos 2A + cos 3A)/A

-[ l + cos((/w-l)A)]/A

Вприведённой системе уравнений выделены столбцы и строки, добавление которых, по сравнению с системой уравнений, приведён­

ной в подразд. 1.4.2, обусловлено включением функции <p-_i/2M

в разложение (1.2).

Алгоритм решения

Текст Программы 1.5 на языке Си описывает вычислительный алгоритм, реализующий процедуру аппроксимации функции cos* с использованием иерархической системы кусочно-непрерывных по­ линомов 3-й степени.

Программа 1.5

//Аппроксимация функции. Система иерархических пробных функций

//Полиномы третьей степени

//Neчисло сегментов

//С массив для коэффициентов

//F массив правых частей

//х массив координат узлов

#define Ne 64

void main(void)

{double xO, xl, h, C[3*Ne+l] [3*Ne+l] , F[3*Ne+l], x[Ne+l]; int i , k ;

for(k=0; k<Ne+l; k++) x[k]=xO+h*k; for(k=0; k<3*Ne+l; k++)

for(F[k]=0.0, i=0; i<3*Ne+l; i++) C[k][i]=0.0; for(k=0; k<Ne; k++)

{if(k==0)

{C [3*k] [3*k] =h/3.0;___________________________________________

}

else

{C [3*k] [3*k]=2.0*h/3.0;

F[3*k]= - (cos((k-1)*h)-2.0*cos(k*h)+cos((k+1)*h))/h;

}

C [3*k] [3*k+l] =C [3*k+l] [3*k] =h/3 .0 ; C [3*k+l] [3*k+l]=8.0*h/15.0;

C [3*k] [3*k+2]=C[3*k+2] [3*k]=-h*h/30.0? C [3*k+l] [3*k+2]=C[3*k+2] [3*k+l]=0.0; C[3*k+2][3*k+2]=2.0*h*h*h/105.0;

C [3*k+2] [3*k+3]=C[3*k+3] [3*k+2]=h*h/30.0; C[3*k+3][3*k]=C[3*k][3*k+3]=h/6.0;

C [3*k+l] [3*k+3]=C[3*k+3] [3*k+l]=h/3.0;

F[3*k+l]= - 4 . 0*(cos(k*h)+cos((k+1)*h))/h - 8 .0*(sin(k*h)- s i n ((k+1)*h))/(h*h);

F [3*k+2] = (2.0*h*h-24.0) * (cos (k*h) -cos ((k+1) *h) )/ (h*h) + 12 . 0*(sin(k*h)+sin((k+1)*h))/h;

}

C[3*Ne][3*Ne]=h/3.0;

F[3*Ne]= - (1.0+cos((Ne-1)*h))/h;

// Решение системы линейных алгебраических уравнений G A USS (С, F, 3*Ne+l);

1__________________________________________________________

Реализация алгоритма

Заданный отрезок разбивается на четыре сегмента равной длины

M = G, UG2UG3UG4,

где G, = [0,я/4], G2 = [я/4,я/2], G3 = [тс/2,Зтс/4] и G4 =[3л/4,я]. Заданная функция COSJC представляется разложением (1.2). Соотношения (1.3) принимают вид системы линейных алгебраических уравнений

л л

Е а>J<р*фА= |ф* cosxdx

(1.15)

' о

о

 

 

I

I

относительно коэффициентов а,, i = 0,1/2,1/2,1,3/2,3/2,..., 4. Подсчитываются дополнительные значения коэффициентов, от­

меченные в приведённой выше системе линейных алгебраических уравнений:

лА2

|фоФ1/2<& = —ттг = —0,020562,

о30

л

л

л

^ФоФз/г^^- =

|ф о Ф 5/2^ =

| ф о Ф 7/2^ = 0 i

0

0

0

я я л л

|ф ,/2 Ф ;/2 ^ = К 2Ф'з/2^= \ (Vn(V'mdX= |ф1/2Ф7/2^ = °;

0

0

0

 

0

я

 

И 2

 

я

/фугФо^ = ”*— = ""0,020562,

^Фi/2Ф1/2^^ = 0 >

|(ф;/2 )2 ^

= 7^7 = 0,009228,

/ф ^Ф .Л = ^ = 0,020562,

 

105

 

 

30

71

 

Л

71

л

|ф1/2Фз/2^ =

{ф1/2Фз/2^ =

{ф угФ г^ =

|ф|/2Ф5/2^ = 0?

0

 

0

0

0

я

я

я

я

Я

{ф|/гФ5/2^Г= |*Ф1/2Ф3 = ^Ф1/2Ф7/2^^ = |ф1/2Ф7/2^Г= /ф 1/2Ф4 = ^ » 0 0 0 0 0

*г ,

 

(lh2-24)(1-COS/J)

12sin/?

Гф'

cosxdx =^----------4} --------- - +}±E1!L = _o,006112;

о

 

h

 

h

/ф .ф '^Л = ^

= 0,020562,

)ф,фу2^ = ~ 30 = -0,020562,

 

 

71

71

 

 

 

/ ф l Ф 5/2 d x =

^ Ф 1Ф 7/2

= ^ 5

 

 

0

0

 

я

 

я

я

я

|фз/гФ1/2^= /ф3/2Ф3 / 2 = /ф3/2ф5 / 2 = /ф 3/2Ф7 / 2 = ®*

0

 

0

0

0

 

я

я

я

 

 

]У3/2Фо<&=|ф'3/2ф|/-2л = | ф;/2ф;/2л = о,

 

0

0

0

 

я

 

Н 3

 

я

{фз/гФА

= - — = -0,020562,

|фз/2Фз/2 ^ = 0,

J(фз/2)2^

= 777 = °’009228’

 

/ ф > 2=*0,020562= ^ 7 ,

 

105

 

30

|ф'э/2ф5/2<&= {фз/2ф 5/2^= |ф з/2Ф з^= /ф ,^Ф7/2<Л:=

{ф 'з/зФ м ^ - / ф 'з /з Ф ^ -0

О

о

о

о

о

О

 

\

 

(2h2-24) (cos h -cos 2/?)

12(sin/? + sin2/z)

ЛЛ1._Г,

 

J(p;/2 cos

 

i

^

------------- - + — ----- --------- 1= -0,014756;

 

 

 

]*Ф2Ф|/2^* = О,

|ф 2Фз/2^ ~ т т = 0,020562,

 

 

 

0

 

 

0

JU

 

 

 

 

 

 

71

 

h2

 

\

 

= 0 ;

 

 

 

|ф гФ 5/2^ = ------- ~ -0 ,0 2 0 5 6 2 ,

j ф2Ф7/2^

 

 

 

о

 

30

 

0

 

 

 

 

n

 

 

я

Я

 

Я

 

 

 

/фб/гФуг^* =

/ф б/гФ з/г^ = / Ф5/2 Ф 5 /2 ^ =

/ф 5/гФ 7/2^ = 0»

 

0

 

 

0

0

0

 

 

 

 

я

л

 

 

 

к

я

я

 

 

я

|ф5/гФо<^Г =

J (P5/2(Pl/2C^X =

|ф5/2Ф1/2^Х:= |ф5/2Ф|<^Х' == |ф5/2Фз/2^=

JФб/гФз/г^* ^ 0,

0

 

0

 

 

0

0

0

 

 

о

 

 

J”Ф5/2 Ф2

=

= —0,020562,

J"Ф5/2 Ф5/2

= 0 ,

 

jj*5/2

)2 ^ = 7 ^ 7

= 0,009228,

}ф;/2Ф3^

= ^~ =0,020562

 

 

 

 

105

 

 

 

30

 

 

 

 

 

/ф5/2Ф7 / 2 —]*Ф5/2Ф7/2^ ~ |ф5/гФ4^ “ 0 ,

 

 

 

 

 

О

 

О

О

 

 

 

 

 

"г л'

^

(2/72 -2 4 )(COS2/Z-

COS3//)

12(sin 2А-h sin3/Z)

 

 

J<p5/2 cosдсЛ= --------- —/ 2---------------+ —Ь*---- ---------- L= -0,014756;

 

Г

 

 

Л

 

71

 

h2

 

 

 

|фзФ ^2^= |фзФз/2^ = 0,

|ф 3ф'5/2с&

= — = 0,020562,

 

O

 

n

 

 

n

 

30

 

 

/фзФ'т/з^ = - — = -0,020562;

n

з и

Таблица 1.9

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

0,261799 0,261799-

0,020562 0,130899

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,372923

0,261799 0,418879

0,0

0,261799

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,476323

- 0,020562

0,0

0,009228 0,020562

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

- 0,006112

0,130899 0,261799

 

 

,

- ,

 

0,0

0,0

0,0

0,0

0,0

0,0

0,527393

0,020562 0,523599 0261799 0 0205620,130899

 

0,0

0,0

0,0

0,261799 0,418879

0,0

0,261799

0,0

0,0

0,0

0,0

0,0

0,0

0,197299

0,0

0,0

0,0

- 0,020562

0,0

0,009228 0,020562

0,0

0,0

0,0

0,0

0,0

0,0

- 0,014756

0,0

0,0

0,0

 

 

 

,

-

,

 

0,0

0,0

0,0

0,0

0,130899 0,261799 0,020562 0,523599 0261799

0 0205620,130899

 

0,0

0,0

0,0

0,0

0,0

0,0

0,261799 0,418879

0,0

0,261799

0,0

0,0

0,0

- 0,197299

0,0

0,0

0,0

0,0

0,0

0,0

- 0,020562

0,0

0,009228 0,020562

0,0

0,0

0,0

- 0,014756

0,0

0,0

0,0

0,0

0,0

0,0

0,130899 0,261799 0,020562 0,523599 0,261799- 0,020562 0,130899 - 0,527393

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,261799 0,418879

0,0

0,261799 - 0,476323

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

- 0,020562

0,0

0,009228 0,020562 ^0,006112

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,130899 0,261799 0,020562 0,261799 - 0,372923