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

Программа 1.2

//Аппроксимация функции. Кусочно-линейные пробные функции

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

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

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

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

#define Ne 64 void main(void)

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

x0=0.0; // начальная точка xl=M_PI; // конечная точка h=(xl-xO)/Ne; // длина шага сегмента

for(k=0;

k<=Ne; k++)

 

 

 

 

{ if(k==0)

F [kj = (1-cos(h))/h;

 

else if(k==Ne) F[k]= - (1+cos(M_PI-h))/h;

else

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

f o r (i=0 ;

i<=Ne; i++)

 

 

 

{ if (i==0

ScSc k==0)

C[k] [i] =h/3 .0 ;

 

else

if(i==Ne &&

k==Ne)

C[k][ij=h/3.0;

 

else if(i==k) C [k] [i]=2.0*h/3.0;

 

 

else if(i==k-l

|| i==k+l)

C [k] [i]=h/6.0;

 

 

else

C [k] [i]=0.0;

 

//Решение

системы линейных

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

уравнений

G A USS(С , F,

Ne+1);

 

 

 

 

J_______________________________________________

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

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

[о,я] = <7, U G2U<?3U G4,

где Gx=[0,тг/4], G2= [л/4,л/2], G3 =[л/2,Зл/4] и С?4 =[3я/4,л]. На

каждом из этих сегментов в соответствии с выражением (1.6) опре­ деляются кусочно-линейные пробные функции (рис. 1.5). Заданная функция Д*) представляется разложением (1.2). Соотношения (1.3) принимают вид системы линейных алгебраических уравнений

4 л л

Z ai |ф*ФА = /ф* cosxdx’ к = 0,4,

(1.7)

‘=° О

О

 

относительно коэффициентов ап i = 0,4.

Рис. 1.5. Пробные кусочно-линейные функции на сегменте [0, к/4] (а); кусочно-линейные функции,

ассоциированные с узлами сегментов (б—е)

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

Л

I

Л

7

Jcp\dx= —= 0,261799,

\% ^d x = — = 0,130899,

о

^

о

6

я

л

л

 

 

 

л

1- c o s /г

 

/ф 0ф2dx = |ф 0фзdx = |ф 0ф4dx = 0 ,

 

/ф 0 cosxdx =

 

 

h

!

 

 

 

 

 

 

 

J<p,%dx = — = 0,130899,

J<pfdx=— = 0,523599,

 

Я

 

1

 

Я

Л

 

 

|ф,ф2<Л: = — = 0,130899,

п

|ф,ф3аЬс= |ф,ф4с&: = 0,

 

п

 

6

 

 

п

 

 

 

п

 

 

 

 

 

 

 

 

Jcp, COSJCdx = 2 co sh -\-co s2 h = 0,527393;

 

 

 

л

 

1

 

 

l*

 

 

 

Jcp2cp0dx = 0 ,

J(p2cp,<i3c = — = 0,130899,

 

 

\<V22dx=—

= 0,523599,

|ф 2ф3^

= -

= 0,130899,

|ф 2ф4й& =

 

n

 

 

 

 

 

 

 

 

f(p2 cosxdx =- cos h - 2 cos 2h + cos 3h = 0 ;

 

 

я

 

л

 

n

 

h

 

 

|ф 3ф0^ =

|ф 3ф,аЬс: = 0,

|ф 3ф2г&= —= 0,130899,

 

 

О1%

 

|ф 3ф4<& = — = 0,130899,

 

Jф3а£г=— = 0,523599,

 

/ф, c o s * * = _ C 0 S 2 A - 2 C 0 S 3 ^ C 0 S 4 * = _ 0 527393.

Л

Я

Я

П

h

|ф 4ф0dx= |ф 4ф,а5: = |ф 4ф2<& = 0,

|ф 4ф3яЬ; = — = 0,130899,

0

0

0

о

0

|<p\d x= - = 0,261799,

|(р3 cos xdx =J

+cos3h = -0,372923.

o

3

0

h

Подстановка полученных значений в выражение (1.5) приводит к системе пяти линейных алгебраических уравнений

0,261799а0 + 0,130899а, + 0а2 + 0а3 + 0а4 =0,372923,

0,130899а0 + 0,523599а, + 0,130899а2 4-0а3 + 0а4 =0,527393,

«0а0 +0,130899а, +0,523599а2 +0,130899а3 +0а4 =0,

0а0 + 0а, +0,130899а2 +0,523599а3 +0,130899а4 =-0,527393,

0а0 + 0а, +0а2 +0,130899а3 +0,261799а4 =-0,372923

относительно коэффициентов а, разложения (1.2) (табл. 1.3).

Таблица 1.3

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

кусочно-постоянными пробными функциями

0,261799

0,130899

0,0

0,0

0,0

0,372923

0,130899

0,523599

0,130899

0,0

0,785398

0,527393

0,0

0,130899

0,523599

0,130899

0,0

0,0

0,0

0,0

0,130899

0,523599

0,130899

-

0, 527393

0,0

0,0

0,0

0,130899

0,261799

-

0,372923

Результаты расчетов

Использование Программы 1.2 позволило найти решение этой системы уравнений:

а0 =1,05239

а, =0,74415, а2 =0, а3= Ч ),74415, а4 =-1,05239.

Аппроксимация функции cos х на отрезке [0, л] кусочно-линей­ ными функциями с использованием 4 (а) и 64 (б) сегментов приведе­ на на рис. 1.6. На рис. 1.7, а показана зависимость от координаты х погрешности

 

4

А = cos (дг) -

а(.ф, (*)

 

/=0

представления функции cos х разложением (1.2) при т = 4.

а

б

Рис. 1.6. Аппроксимация кусочно-линейными функциями (-о-) функции cos х (---- ) с использованием 4 (а) и 64 (б) сегментов на отрезке [0, к]

В табл. 1.4 приведены значения погрешности аппроксимации функции cos х при различных значениях числа т сегментов. Эти же данные представлены в графическом виде на рис. 1.7, б. С использо­ ванием формулы (В.1) приближенно определяется порядок погреш­ ности аппроксимации функции / ( x ) = cosx разложением (1.2)

6 = (In 0,215854 - In О,000201)/(In1,570796 - In0,049087) = 2,013724.

Это показывает, что погрешность аппроксимации заданной функции методом Галёркина с использованием кусочно-линейных

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

8 = / -

= о ( л !).

Таблица 1.4

Погрешность Ъткусочно-линейной аппроксимации функции cos х при различном числе т сегментов

т

h

5m

т

h

5m

 

2

1,570796

0,215854 10°

16

0,196350

0,321687

10 2

4

0,785398

0,523867-10 '1

32

0,098175

0,803448-10_3

8

0,392699

0,129161 10_|

64

0,049087

0,200814

10’3

О

тт/4

я/2

Зтг/4 х

 

 

а

б

Рис. 1.7. Погрешность кусочно-линейной аппроксимации функции cos х с использованием 4 сегментов на отрезке [0, я] (а) и зависимость

погрешности аппроксимации от длин сегментов (б)

В силу этого 6т —>0 при И —>0 или т —>°°. Это позволяет ут­ верждать, что процесс аппроксимации функции cos х линейной ком­ бинацией кусочно-линейных функций (1.2) сходится равномерно на отрезке [0, я].

Рис. 1.8. Зависимость времени / выполнения расчетов от числа т сегментов разностной сетки

На рис. 1.8 представлена зависимость времени t выполнения рас­ четов от числа т сегментов разностной сетки.

Выводы

1.Процедура метода Галёркина использована для аппроксима­ ции заданной функции cos* линейной комбинацией кусочно-линей­ ных функций. Сформирована система линейных алгебраических уравнений для определения коэффициентов разложения функции cos * по указанной системе функций.

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

3.С использованием разработанной программы определены ко­ эффициенты и построены разложения заданной функции cos* по системе кусочно-линейных функций для 2, 4, 8, 16, 32 и 64 сегментов постоянной длины (см. рис. 1.6).

4.Для указанной последовательности разложений определены по­ грешности аппроксимации заданной функции (см. табл. 1.4) соответст­ вующими линейными комбинациями кусочно-линейных функций.

5.Показано, что с уменьшением длин сегментов погрешность аппроксимации уменьшается (см. рис. 1.7). Установлено, что по­ грешность аппроксимации имеет второй порядок относительно дли­ ны сегментов (шага интегрирования).

6. Выполненное исследование показывает, что процесс аппрок­ симации функции cos х линейной комбинацией кусочно-линейных функций сходится равномерно на заданном отрезке [0, тс].

7. Для аппроксимации функции COSJC с использованием кусочно­ линейных функций на разностной сетке, содержащей 64 сегмента, на компьютере с процессором Intel® Pentium® 4 (тактовая частота 2,2 ГГц, объем оперативной памяти 512 Мбайт) требуется 2,5-10-3 с.

1.3. Кусочно-квадратичные функции

Задание. Аппроксимировать методом Галёркина на отрезке [О, к] функцию cos х с использованием кусочно-квадратичных проб­ ных функций. Сформировать систему линейных алгебраических уравнений относительно коэффициентов разложения этой функции по заданнной системе функций; разработать вычислительную про­ грамму для определения коэффициентов разложения для 2, 4, 8, 64 сегментов постоянной длины; для указанной последовательности

определить погрешности аппроксимации; исследовать зависимость погрешности аппроксимации от длины h сегментов; исследовать сходимость процесса аппроксимации; оценить быстродействие вы­ числительной программы.

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

Заданный отрезок [0, тс] разбивается на т сегментов G,

/ = 1,т, равной длины h =xi - хм = тс/ти, где

= (/ -1) %/т,

xi - in/т . На каждом сегменте

определяются три кусочно­

квадратичные пробные функции:

ф,-1 (х)

( 1.8)

Всё множество пробных функций для отрезка [0, тс] может быть представлено следующим образом1:

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

 

 

 

 

 

 

х,)/й2,

xeG ,,

 

Ф

. М

1

А

' А

* '

 

хй G,;

 

 

 

 

 

0,

 

 

2(*-*М/2 )(*-*,-. )А 2,

хе G,,

 

 

ф /(*)= 2(X ~ Х,+1 /2

)(X - Х|+, )//г ,

x eG f+1,

 

 

 

 

 

0,

 

 

х«ёG,.uGj+l,

 

 

Ф м/2(^)=— -—

^

--------- .

* e G ,>

i= 1>w;

 

/

\ ( 2 ( ^ — Х т-\/2 )(■*• — Х т-1 ) / ^ »

Х ^

G m’

 

< м * ) Н {

 

 

 

' 0,

 

х<£ Gm.

 

Для формирования системы уравнений (1.3) с учетом определе-

 

 

 

 

 

 

 

 

 

л

ния (1.8) пробных функций вычисляются интегралы

JcpA.(JC) ( JC)

 

л

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

и

(x)cos xdx. Первый из этих интегралов для k - i - О

 

о

 

 

 

 

 

 

 

 

 

 

Л

 

 

4 Х'г

2

 

 

 

 

\^>l{x)dx =- j

j( x - x 1/2)

[ x - x ,f dx =

 

 

_4

(дг-х,)5 | h (x - x ,)4 | h2(x - x ,)3

2h

 

A4

 

 

 

 

 

12

 

15

Если k = i - 1, функции <p,_, (x) и ф. (x) отличны от нуля на общем

сегменте [хы ,х(],

 

 

X

1

1

 

 

A* т

4_

X i-\/2)

2( х - х ,_1/2)3

 

 

 

 

А

Л4

30'

Если k = i - 1/2, функции Ф,_1/2(*) и Ф,(*) отличны от нуля на

общем сегменте

71

8

J

2

 

,-./2

( х)Ф, ( х)dx = - - Г

j ( х - хм f (х - хм/2) ( x - Xi)dx =

п

” .

 

 

 

(* -* i)5 ЗА (х-х,)4

| А2(х-х,.)3

h_

 

 

 

 

15'

-Ч-1 Если £ = /, функции Ф*(*) = Ф,(*) отличны от нуля на общем

сегменте [х,_„х,+1],

\(^t (x)dx =~ \{ x - x Ml2) \ x - x ^ ) 2d x + ^ } (x - x i+1/2)2(x -j:w )2dc =

_4 ( x - x ,,) 5 A (x -x f_,)4

^ ( x - x , . , ) 3

 

A4

 

12

 

(* -* ,+ .)5 + h{x ~ x,+ S +? { х ~ *,+, )3

4A

 

 

12

15'

При A-1/2 = /-1 /2

функции (pt_,/2 (x) = (p,_iy2 (JC) отличны от нуля

на общем сегменте [х(._р х(],

 

 

)фы/2

=

*,У dx =

 

п

 

 

 

16 ( x - Xif

| А (х -х,)4 t

А2(х-х,.)3

А4

 

 

15'

Если А = / + 1/2, функции ф1+1/2 (х) и ф.(х) отличны от нуля на общем сегменте [х,,xi+1 ],

л

8

Л,+1

 

 

 

2

|+|/2(*)ф; (*)<& = —ТТ J ( x - x ,) ( x - x ,+l/2)(x - x ,+1)

dx =

8_ {х ~ хм )5 , Щ х ~ хм У

, ^2(* - * м )3

h_

V

5

 

8

6

 

15

Если k = i +1, функции

ф1+| (х) и

ср, (х) отличны от нуля на об­

щем сегменте [x, ,xj+1],

 

 

 

 

 

 

4

1

 

 

2

 

|ф,+|(* )ф ,(* )А = Т7 J ( x - x ,) ( x - x w/2)

( x - x M)dx =

 

 

•t.-i

 

 

 

 

 

4_ (х ~ хмц)5

h2 (x ” xw/2)3

h_

 

h2

 

 

 

30'

 

Для k = i = m значение интеграла

 

 

 

Я

^

Xm

 

2

j

 

| ф ™ ( * ) < & = Т 4 -

J

X m-\/2)

A =

 

 

, Н х ~ хт-\) ^ 2( x - x m_,)

2A

 

 

 

 

12

 

15'

Для прочих соотношений индексов к и i функции срЛ(х) и ф. (х)

 

 

 

п

 

 

 

не имеют общих сегментов, т.е. |ф*фXdx = 0.

 

 

 

л

 

о

 

 

 

 

 

 

 

 

 

Интегралы

|ф Л.(x)cosx<ix: в правой части выражения (1.3) с уче-

 

0

 

 

 

 

 

том формул (1.8) определяются формулами

л^ *1

]ф0 cos xdx =— J (x - x 1) ( x - x 1/2)cosx<ir =

^ 2 XCOSAT+ (AC2 -2)sin x -(x1/2 +^,)(cosjc + xsinx) + xl/2A:1sinA:J ' =

3cos xn+ cos x,

(,

4 v

4 .

= ---------

1-----------

[ l - ?

J S.n ,0 - F sm*,;

2 xk

 

 

 

2 X*+|

« « * = * J (x - ^ .,)(x - x t.V2)cosxdc+-^- J (дс—jqttV2)(x-Ajbrt)ooexcfc=

j[^2xcos;t+(;c2 -2) sinj:-(xt_1+ хк_ц2)(cosx+ xsinx) + xk_y2xkAsinxj * +

y^2xcosx+(x2 -2 )sin x -(x t+V2 + xi+1)(cosx + xsin x) + xt+V2x,(+lsinxj'*' =

= ------

---------■£-*---------

---

+ ^ r ( sm xk-\ ~ sm xk+i), k = l,m - u

 

K

4

x>

 

Jcpt4/2cosxdx =- -

j

J (х -х * _ ,)(х -х 4)со8хА =

 

 

 

x*-l

—“ ["2XCOSJC+ (X2 -2 )8 тх -(х л +xJt_1)(cosx+Jcsinx) + xitxjt_1sinx"| * =

8 ( .

\

4 /

\

, \—

= — ^-(sinjc*., -sinx*)

(cosx^ +cosxk),

k = \,m;

h

 

h

 

 

к

2

J (x -x m.,)(x -x m.l/2)cosxA =

f(pmC0Sxdx = - j

оП xm,

-^-[2xcosx+(x2-2)sinx-(xml +*„H/2)(cosx+xsinx)+X(FMXiH/2 sin x jj =

cosxm,

+3cosx_

4 .

4"i .

W-l

W I

n t

 

+ — Sinjfm-1 + P - T T siDJCm-

Подстановка полученных значений в выражение (1.3) приводит к системе 2/я + 1 линейного алгебраического уравнения

2h

Л

h

Л

L

^ Л

а0 — + ai/2 —

 

+ аз/20

+ а20 + ---+ ат0 =

3+cosA 4—sin А,

АА2

А

А

-

л

.

л

 

"0Т5+а,/215 + а |15 + аз/2°

 

т° =

 

=-^-sinA“ (l+cosA),

 

 

 

 

h

h

Ah

h

h

+

+a

n

-an— +0,,,— + o.— + a,/2---- CL

0 =

°30

^/215

15

; 15

^30

 

 

 

l+6cosA+cos2/?

4 .

 

 

 

 

= --------------------------

 

 

7-sin2«,

 

 

 

hh

лn /2 8 /2 / 2 a00+al/20+a, — +aj/2— +a2— +...+am0 -

8

 

 

4

 

 

= — (sin 2h- sin h)- —(cosh +cos 2h),

 

.

A

h

h

Ah

 

a00+aV20-al— +ch/2— +a2 — +...+am0=

_ COSA+6COS2A+COS3/J

4(sinA-sin3A)

 

"

 

h

+

h2

 

 

 

 

2/?

 

ao0+ al/20+ a,0+ a3/20+---+am— =

 

cos("(w -l)Al-3

4

r ,

 

°L „

относительно коэффициентов а, разложения (1.2). Матрица коэффи­ циентов и правая часть этой системы уравнений имеют вид

2A/15

A/15

-h/30

0

0

0

Л/15

8A/15

A/15

0

0

0

-h/30

A/15

4A/15

A/15

-h/30

0

0

0

A/15

8A/15

A/15

0

0

0

-h/30

A/15

4A/15

0

0

0

0

0

0

2A/15

(3 + cosA)/A--4sinA/A 2

8sin A/А2 -4(l+cosA)/A

(1+ 6 cos A + cos 2h)/h - 4 sin 2h/h2

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

(cos A +6cos 2A + cos3h)/h+4(sinA - sin 3h)/h2

[cos(m - \)h - 3]/h+4sin[(»i - l)h]/h2

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

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

Программа 1.3

//Аппроксимация функции. Кусочно-квадратичные пробные функции

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

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

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

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

#define Ne 64

void main(void)

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

х0=0.0; // начальная точка xl=M_PI; // конечная точка h=(xl-xO)/Ne; // длина шага сегмента

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

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

for(k=0; k<Ne ; k++)

{if (k==0)

{C [2*k] [2*kJ=2.0*h/15.0;

F [2*k] = (3.0+cos(h))/h - 4 .0*sin(h)/ (h*h) ;

}

else

{C[2*k] [2*k]=4.0*h/15.0;

F[2*k]= (cos((k-1)*h)+6.0*cos(k*h)+cos((k+1)*h))/h+

4 . 0 * (sin((k-1)*h)-sin((k+1)*h))/ (h*h);

}

C [2*k] [2*k+l]=C[2*k+l] [2*k]=h/15.0; C [2*k] [2*k+2]=C[2*k+2] [2*k]=-h/30.0; C[2*k+1] [2*k+l]=8.0*h/15.0;

C[2*k+l] [2*k+2]=C[2*k+2] [2*k+l]=h/l5.0;

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

}

C[2*Ne][2*Ne]=2.0*h/15.0;

F [2*Ne] = (cos((Ne-1)*h)-3.0)/h+4.0*sin((Ne-1)*h)/ (h*h);

//Решение

системы линейных алгебраических уравнений

G A USS (С,

F, Ne+1);

1__________________________________________________________

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

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

[0,K] = G 1 UG2 UG3UG4,

где G,=[0,Jt/4], G2=[K/ 4 ,п/2], G3=[n/2,Зя/4] и G4 =[3д/4,д]. На

каждом из этих сегментов в соответствии с выражением (1.8) опре­ деляются кусочно-линейные пробные функции (рис. 1.9).

Заданная функция f(x) представляется разложением (1.2). Соот­ ношения (1.3) принимают вид системы линейных алгебраических уравнений

лл

X ai

= |ф * cos xdx

(1 .9 )

оо

относительно коэффициентов ах, / = 0,1/2,1,3/2,..., 4.

а

б

 

/\РЗ'2(*)

s

Л

- 0,2 1----------------------------------

-----------------------------------1

0

я/4 я/2 Зя/4 я

__________ а__________

*Фз/гОО/Л

“ . . Л .

-0,2 ---------------------------------

0 7С/4 л/2 Зл/4 я

Рис. 1.9. Кусочно-квадратичные пробные функции на сегменте [0,л/4] (а); кусочно-квадратичные функции,

ассоциированные с узлами сегментов (б-к)

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

fq£*= ^7 = 0,104719,

]ф 0<р1/2Л

= А

= 0,052359,

 

 

 

|ф 0ф1Л

= - А

= _ 0,02б179,

 

Я

Я

Д

 

 

д

л

я

|ф 0Фз/2Л

= |ф 0ф2Л

= |ф 0фm dx= /ф0ф3й6с = |ф 0ф7/2Л = |ф 0ф4оЬс = 0,

0

0

 

0

 

0

0

о

 

лг

 

1

 

4

 

 

 

Jcp0 cosxdx =— (cosh + 3 ) - — sin А = 0,134762;

|ф 1/2Ф<А = £

= 0,052359,

\<p]l2dx =

=0,418879,

 

 

15

 

 

 

15

 

 

 

n

 

i

 

 

 

 

 

|ф 1/2ф ,^ = — = 0,052359,

 

Л

л

 

л

 

д

л

Я

|ф|/2Фз/2Л = |ф |/2ф2dx= |ф 1/2ф5/2б&= |ф |/2ф3^ =

|ф |/2ф7/2с&= |ф,/2ф4й6с = 0,

 

г

 

8

. 4

 

 

 

 

ср1/2 cos xdx = — sin А— (1+ cos A) = 0,-476323;

 

о

 

A

 

A

 

 

K

 

h

= -0,026179,

я

 

A

J<Pi<P<A = —

 

|ф,Ф1/2^

= = 0,052359,

} ф ^ = у ^ = 0,209439,

}ф1Ф3/2аЬс = f - = 0,052359,

о

^

 

 

 

о

^

л^

|ф,ф2Л =

= -0,026179,

О^

л

я

л

я

|ф .Ф 5/ 2 ^ = |ф |ф 3^ = |ф ,Ф 7/ 2 ^ = |ф ,ф 4А = 0,

 

л

 

1

 

4

sin2A = 0,190582;

 

ftpi cos xdx

= —(1+ 6cos A + cos 2A) —

 

о

 

h

 

h

 

 

 

я

 

я

 

к

 

J

 

J<PV2<P(A = |фу2Ф

^ = 0,

/фу2ф ,л =— =0,052359,

 

= ^

= 0,418879,

}ф3/2ф2Л = А = 0,0523539,

 

л

15

 

л

15

 

 

л

 

л

 

 

}фз/2ф5/2^= }ф3/2ф3Л =

|ф 3/2ф1/2 Ьс= |ф 3/2ф4а!х = 0,

 

О

 

0

 

0

0

 

Л-

 

8

 

4

 

 

J

ф3/2 cos xdx = (sin 2А - sin А)(cos А + cos 2A) = 0,197299;

о

 

 

A

 

A

 

 

 

Я

Jl

 

 

Я

A

 

 

|ф 2Фо<&= |ф2ф1/2Л

= 0,

|ф2ф,£& = - —

= -0,0 26179 ,

 

0

0

 

 

О

^

 

 

я

 

I

 

Я

л

f

 

|ф 2ф3/2Л

= — = 0,052359,

| ф\dx = — = О,209439,

 

о

 

^

 

о

^

 

я

 

»

 

 

я

 

,

|ф 2ф5/2с£с= — = 0,052359,

|ф 2Ф3^

= ------= -0,026179,

о

 

 

 

 

о

 

30

ЯЯ

|ф 2Ф7/2<&= | ф2фА = о,

оо

*

1

 

4

J ф2 cos xdx = —(cos А + 6 cos 2A + cos 3A)+ — (sin A - sin ЗА) = 0;

Я

Я

Я

Я

]ф5/2Фо^ = |ф5/2Ф1/2^ = |ф5/2Ф1^ = ]ф5/2Фз/2^ =

Я

j

К

п |

/ < М > 2* = — = 0 ,0 5 2 3 5 9 ,

К з Л = Т 7 = °>4 1 8 8 7 9 ’

п

1

Л

Я

|ф 5/2Ф з^ = — =0,052359,

|ф 5/2ф7/2А

= |ф 5/2Ф4^ = 0,

Л

1 Э

Л

п

[ф5/2 cos xdx = —т(sin 3h sin 2А)— (cos 2h +cos 3h) = —0,197299;

о

h

 

h

 

 

Я

 

Я

я

71

 

 

|ф 3Ф<А = |ф 3ф|/2Л

= |ф 3Ф|<* = |ф 3Фз/2Л

= 0,

0

 

0

0

0

 

 

|ф 3фidx = - А

= -0,0 26179 ,

)фзФ5/2 ^ = у

=0,052359,

о

^

 

 

о

 

 

я

л

1

 

я

»

 

\dx = — = 0,209439,

 

|ф 3ф7/2<& = — = 0,05236,

о

15

 

о

15

 

 

 

]ф3ф4Л = - А

= _о,026179,

 

 

 

 

о

 

 

 

 

я

1

 

 

^

 

 

|ф3 cosxdx= —(cos2h +6cos3h +cos4/?)+(sin 2h - sin Ah)= -0,190582;

Я

Я

Я

Я

Я

Я

J"Ф7/2Фо

= ^ф7/гФ|/2^^= ]ф7/2Ф|^= ]ф7/2Фз/2^*= \^lj2^2^X= 7/2Ф5/2^ = 0 ,

 

}ф7/2ф3Л = А

= 0,052359,

}ф27/2Л

= ^ = 0,,418879.

 

о

 

 

о

^

 

 

Я

 

,

 

 

 

|ф 7/2ф4Л = — = 0,052359,

 

 

о

 

 

 

я

g

 

 

^

 

[ф7/2 cos xdx =- j (sin Ah - sin ЗА)- - (cos 3h +cos Ah) = -0,476323 • о h h

Jф4ф0<& = |ф4Ф./2^ = )ф4ф ,^ = / ф л * & = )ф4Ф2Л = |ф 4ф5/2Л = 0,

f<P4<Pг<Ь = ~

= -0,026179,

/ф 4<рmdx =A = 0,052359,

0

^

0

^

 

}ф*Л = Ц

= 0,104719,

 

я

i

^

 

fcp4 cos xdx- —(cos ЗА - 3)+—г sin ЗА = -0,134762.

оh h

Результаты расчётов

Подстановка полученных значений в выражение (1.9) приводит к системе девяти линейных алгебраических уравнений (табл. 1.5) отно­

сительно коэффициентов

разложения (1.2). Использование Прог­

раммы 1.3 позволило найти решение этой системы уравнений:

а0= 1,002485,

а, =0,923219, д2 =0,708864,

а3=0,38241,

а4=0,0,

а5=-0,38241,

а6=-0,708864,

а7=-0,923219,

а%=-1,002485.

Аппроксимация функции cosx на отрезке [0, я] кусочно-линей­ ными функциями с использованием 4 сегментов приведена на рис. 1.10.

Рис. 1.10. Аппроксимация COSJC (--- ) кусочно-квадратичными функциями (-о-) с использованием 4 сегментов на отрезке [0, я]

-Ръ

Таблица 1.5

ON

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

0,104719

0,052359

- 0,026179

0,0

0,0

0,0

 

0,0

0,0

0,0

0,134762

0,052359

0,418879

0,052359

0,0

0,0

0,0

 

0,0

0,0

0,0

0,476323

- 0,026179

0,052359

0,209439

0,052359

- 0,026179

0,0

 

0,0

0,0

0,0

0,190582

0,0

0,0

0,052359

0,418879

0,052359

0,0

 

0,0

0,0

0,0

0,197299

0,0

0,0

- 0,026179

0,052359

0,209439

0,052359

-

0,026179

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,052359

0,418879

 

0,052359

0,0

0,0

- 0,197299

0,0

0,0

0,0

0,0

- 0,026179

0,052359

 

0,209439

0,052359

- 0,026179

- 0,190582

0,0

0,0

0,0

0,0

0,0

0,0

 

0,052359

0,418878

0,052359

- 0,476323

0,0

0,0

0,0

0,0

0,0

0,0

-

0,026179

0,052359

0,104719

- 0,134762

На рис. 1.11, я показана зависимость от координаты х погрешности

9

Д = С08(*)-£в,ф/(*)

1=0

представления функции cos х разложением (1.2) при т = 4.

В табл. 1.6 приведены значения погрешности (1.1) аппроксима­ ции функции cos х при различных значениях числа слагаемых в раз­ ложении (1.2). Эти же данные представлены в графическом виде на рис. 1.11,6.

С использованием формулы (В.1) приближенно определяется по­ рядок погрешности аппроксимации функции cos х разложением (1.2):

6 = ( In0,2748 10~' - In0,9335 1 (Г6In1,570796 - In0,049087) = 2,96909.

Это показывает, что погрешность аппроксимации заданной функции методом Галёркина с использованием кусочно-квадра­ тичных функций можно приближенно оценить как величину третьего порядка относительно длин h сегментов одинаковой длины,

т.е. 8Ш= | / - 1 ^ | | = ° ( Л3)-

А

0,002

0

-0,002

-0,004

а

б

Рис. 1.11. Погрешность кусочно-квадратичной аппроксимации функции COSJC с использованием 4 сегментов на отрезке [0, я] (а) и зависимость погрешности аппроксимации от длин h сегментов (б)

В силу этого 5,„ —> 0 при h —>0 или Это позволяет ут­ верждать, что процесс аппроксимации функции cos х линейной ком­ бинацией кусочно-линейных функций (1.2) сходится равномерно на отрезке [0, к].

На рис. 1.12 представлена зависимость времени t выполнения расчетов от числа т сегментов разностной сетки.

т

2

4

8

Рис. 1.12. Зависимость времени t выполнения расчетов от числа т сегментов разностной сетки

Таблица 1.6 Погрешность Ъткусочно-квадратичной аппроксимации

функции cos х при различном числе т сегментов

h

8m

т

h

8m

1,570796

0,274816-10“'

16

0,196350

0,592882-10^*

0,785398

0,324429-10'2

32

0,098175

0,725684-10‘5

0,392699

0,454903 10-3

64

0,049087

0,933515-10"6

Выводы

1.Процедура метода Галёркина использована для аппроксима­ ции заданной функции cos* линейной комбинацией кусочно-квад­ ратичных функций. Сформирована система линейных алгебраиче­ ских уравнений для определения коэффициентов разложения функ­ ции cos х по указанной системе функций.

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

3.С использованием разработанной программы определены ко­ эффициенты и построены разложения заданной функции COSJC по системе кусочно-квадратичных функций для 2, 4, 8, 16, 32 и 64 сег­ ментов постоянной длины (см. рис. 1.8).

4.Для указанной последовательности разложений определены по­ грешности аппроксимации заданной функции (см. табл. 1.4) соответст­ вующими линейными комбинациями кусочно-квадратичных функций.

5.Показано, что с уменьшением длин сегментов погрешность ап­ проксимации уменьшается (см. рис. 1.9). Установлено, что погреш­ ность аппроксимации имеет третий порядок относительно длины сег­ ментов (шага интегрирования).

6.Выполненное исследование показывает, что процесс аппрок­ симации функции cos* линейной комбинацией кусочно-квадратич­

ных функций сходится равномерно на заданном отрезке [0, тс].

7. Для аппроксимации функции cos * с использованием кусочно­ линейных функций на разностной сетке, содержащей 64 сегмента, на компьютере с процессором Intel® Pentium® 4 (тактовая частота 2,2 ГГц, объем оперативной памяти 512 Мбайт) требуется 1,2-10-2с.

1.4. Иерархическая система кусочно-непрерывных функций

Заданный отрезок [0, тс] разбивается на т сегментов G, =

i = l,/и равной длины h =xj - x i_l =n/m, где

= (i-l)n/m ,

Х;=т/т. На каждом сегменте

определяется

иерархическая

система кусочно-непрерывных пробных функций (рис. 1.13):

Фм М ={х>-х)/И, ф, (х) = {х-

) / h ,

 

Ф/-./2 (*) = -4 (* -x w )(*-*,. )/й2,

 

<Pw /2(^)=-4 (JC- ^ - l ) ( ^ - JC,-1/2 ) ( ^ - ^ ) A 2.

(1Л°)

Фм/2 М = - 2 ( * - * ы )(* - * м/2)2( * - * ;)/Л2 . •••>

=[хн ,лг,].

Линейные функции ф,_, (х) и <р, (х) построены так, что в «своём» (одноимённом) узле принимают значения, равные 1, а в «чужом» узле - значения, равные 0:

Фм (*,-> ) = Ф, ( * / ) = Ь Фм {*1) = Ф/ ( * м ) = °-

Квадратичная функция (рм/2 (х ) в «своём» узле имеет значение, равное 1; в «чужих» узлах - значения, равные 0:

Ф/-1/2 (*/-1/2 ) = 1» ’ Ф/—1/2 (*/-1 ) = Ф/-1/2 ( * / ) =

Кубическая функция ф-_,/2(*) в узлах хм , *м/2 и xt имеет значе­ ния, равные 0; в центральном узле х._1/2 первая производная этой функции равна 1:

Ф/-1/2 (*/-1 ) “ Ф/-1/2 (*/-1/2) Ф/—1/2 (*/ )

<*Фм/2

cbc

 

Рис. 1.13. Иерархическая система кусочно-непрерывных пробных функций

Функция четвёртой степени <р'_|/2 (х) в узлах хм , х_|/2 и х, имеет значения, равные 0; в центральном узле х,_1/2 первая производная этой функции равна 0, вторая производная равна 1:

Ф/-1/2 { X i-\ ) Ф/-1/2 ( *i-l/2 ) “ Ф/-1/2 ( * / ) ”

=0,

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

1.4.1. Кусочно-непрерывные полиномы 1-й степени

Задание. Аппроксимировать методом Гапёркина на отрезке [0, п] функцию cos х с использованием иерархической системы кусочно­ непрерывных полиномов 1-й степени. Сформировать систему линей­ ных алгебраических уравнений относительно коэффициентов разло­ жения этой функции по заданнной системе функций; разработать вычислительную программу для определения коэффициентов разложе­ ния для 2, 4, 8, 64 сегментов постоянной длины; для указанной последовательности определить погрешности аппроксимации; ис­ следовать зависимость погрешности аппроксимации от длины И сегментов; исследовать сходимость процесса аппроксимации; оценить быстродействие вычислительной программы.

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

Первоначально рассматривается процесс аппроксимации функ­ ции cos х с использованием двух полиномов первой степени:

( 1.11)

системы1 (1.10). Линейные кусочно-непрерывные функции (1.11) представлены на рис. 1.4; процедура формирования системы уравне­ ний для аппроксимации функции cos* линейными кусочно-непре­ рывными функциями описана в подразд. 1.2. Матрица коэффициен­ тов и правая часть системы линейных алгебраических уравнений от­

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

носительно

коэффициентов

an i =0,m разложения по этим двум

функциям имеют вид

 

 

 

'А/З

h/6

0

0

'

(l-co s h)/h

- ( 1 - 2 COSA + COS2A)/A

h/6

2И/3

h/6

0

 

0

h/6

2h/3

0

 

5 *(2COS2/J - COSA -COS3A)/A ,

0

0

0

h/3

 

- [ I + COS((/W-1)A )]/A

Результаты расчетов

Результаты аппроксимации функции cos* системой кусочно непрерывных полиномов 1-й степени приведена на рис. 1.6-1.8. В табл. 1.4 приведены значения погрешности (1.1) аппроксимации функции cos х при различных значениях числа слагаемых в разложении (1.2). Эти же данные представлены в графическом виде на рис. 1.7.

Выводы

1.Процедура метода Галёркина использована для аппроксима­ ции заданной функции C O S J C иерархической системой кусочно-ли­ нейных функций. Сформирована система линейных алгебраических уравнений для определения коэффициентов разложения функции cos х по указанной системе функций.

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

3.С использованием разработанной программы определены ко­ эффициенты и построены разложения заданной функции cos х по ие­ рархической системе кусочно-линейных полиномов для 2, 4, 8, 16, 32

и64 сегментов постоянной длины.

4.Для указанной последовательности разложений определены погрешности аппроксимации заданной функции (см. табл. 1.4) со­ ответствующими линейными комбинациями кусочно-линейных функций.

5.Показано, что с уменьшением длин сегментов погрешность аппроксимации уменьшается (см. рис. 1.7). Установлено, что по­

грешность пропорциональна второй степени длины сегментов (шага интегрирования).

6. Выполненное исследование показывает, что процесс аппрок­ симации функции cos х линейной комбинацией кусочно-линейных функций сходится равномерно на заданном отрезке [0, к].

7. На компьютере с процессором Intel® Pentium® 4 (тактовая час­ тота 2,2 ГГц, объем оперативной памяти 512 Мбайт) для аппрокси­ мации функции cos х на разностной сетке, содержащей 64 сегмента, с использованием кусочно-непрерывных полиномов первой степени требуется 2,5-10-3 с.

1.4.2. Кусочно-непрерывные полиномы 2-й степени

Задание. Аппроксимировать методом Галёркина на отрезке [О, к] функцию cos х с использованием иерархической системы ку­ сочно-непрерывных полиномов 2-й степени. Сформировать систему линейных алгебраических уравнений относительно коэффициентов разложения этой функции по заданнной системе функций; разрабо­ тать вычислительную программу для определения коэффициентов разложенш для 2, 4, 8, ..., 64 сегментов постоянной длины; для ука­ занной последовательности определить погрешности аппроксима­ ции; исследовать зависимость погрешности аппроксимации от дли­ ны h сегментов; исследовать сходимость процесса аппроксимации; оценить быстродействие вычислительной программы.

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

Для использования на каждом сегменте кусочно-квадратичной аппроксимации заданной зависимости cos х число пробных функций по сравнению с (1.11) увеличивается до трёх за счет добавления функции1<р,_|/2(х) (рис. 1.14):

Фм (*) = (*/ - xVh >

Ф/-1/2М = “4 (* - *м )(* -*,)Л 2>

(1'12)

Ф,(*) = (* —

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

 

 

О

я/4 я/2 Зя/4

л

Рис. 1.14. Кусочно-непрерывные полиномы второй степени

 

 

на сегменте [0, я]

 

 

При формировании новой системы уравнений (1.3) ранее вычис-

 

п

л

 

 

ленные интегралы

 

и Jcp^^cosxdfr сохраняют

свои

значения:

 

 

 

 

71

h

71

1 -co sx1.

 

{<Ро (*)<& = ->

|ф 0 cos xdx =

 

 

)ф м

(* )ф ,

0

U x)dx = ^ ,

/ ф м М ф , (* )< & =

о

 

о

 

о

 

 

"f

J

cosx

. - 2 c o s x +cosx

... .

------- -

 

<p,.cos*<& =

-------- ^

------ — !----------

i = l,m - l;

 

о

 

 

h

 

 

O N I ^

]ф «(*)Л

= 4 ,

JcpCTc o s ^ = - 1 + COSX"1-' .

0

^

0

"

Дополнительно вычисляются интегралы

л

4

)2 (x -x,)dx =

/ф -1/2(*)ф ,(x)dx = - - т

J

Xi - 1

4_ (д:-дг,.-,)4

h ( x - x l4)3

A

.

-—

А3

4

3

=- ,

i = l,т;

 

 

 

}фы/2(*)фД*) ^

= 7Т J (* “ хм )1{x ~ x,)dx =

_4

 

=— ,

/ = 0,от-1;

Л3

 

 

3

 

 

\<$1п [x)dx =^

|(х-д:,..| )2(д:-х1.)2Л

=

16 (* - * ,)5

[ h { x - Xi)' ( А2(* -* ,)3

 

. —

А4

 

 

 

= — , / = 1,/и;

 

 

 

15

 

^Ф/_1/2cos xdx = —

| (JC- JC/_,)(JC-

JC/) COSJC^ C=

_4 |^2xcosx+(x2 -2 ) sinjc-(x/ +x/_1)(cosx+xsinx)+xJxI. , sin JC Л2

4 ,

ч 8 / •

i = l,m.

-(c o sx M + c o sx ,)-^ r (sinx,_1-sinx,.),

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

ентов и правая часть этой системы уравнений принимают вид

Га/ з

А/3

А/6

0

0

0

1

А/3

8А/15

А/3

0

0

0

 

А/6

А/3

2А/3

А/3

А/6

0

 

0

0

А/3

8А/15

А/3

0

 

0

0

А/6

А/3

2А/3

0

 

0

0

0

0

0

А/3.

f i b cosA)/A

 

 

 

 

ч

 

 

 

 

 

-4(1 + cos h)/h + 8sin/?//?2___________|

-( l-2cosh + cos2h)/h_______________

«-4(cosA + cos2A)/A-8(sinA-sin2A)/A^| >.

-(cosA -2cos2A + cos3A)/A

-[^l + cos((/w-l)A)Jy/A

В приведённой системе уравнений выделены столбцы и строки, добавление которых, по сравнению с системой уравнений, приведён­ ной в подразд. 1.2, обусловлено включением функции Фм/2(^) в раз­

ложение (1.2).

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

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

Программа 1.4

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

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

//

Ne

число

сегментов

/ /

с

массив

для коэффициентов

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

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

#define Ne 64

void main(void)

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

x 0 = 0 .0;

//

начальная

точка

xl=M_PI;

//

конечная точка

h=(xl-xO)/Ne;

//

длина шага

сегмента

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

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

for(k=0; k<Ne; k++)

{if(k==0)

{C [2*k] [2*k] =h/3.0 ; F[2*k]=(1.0-cos(h))/h;

}

else

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

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

}

C[2*k][2*k+l]=C[2*k+l](2*k]=h/3.0; C [2*k] [2*k+2] =C [2*k+2] [2*k] =h/6.0 ; C [2*k+l] [2*k+l]=8.0*h/15.0;

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

F [2*k+l] =-4.0* (cos (k*h) +cos ((k+l) *h) )/h-8.0* (sin (k*h) - sin((k+l)*h))/ (h*h);

}

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

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

// Решение

системы линейных алгебраических уравнений

G A US S(С,

F, 2*Ne+l);

}__________________________________________________________

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

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

M = G , U G 2 U G 3U G 4!

где G, = [0,я/4], G2 = [я/4,я/2], G3 = [я/2,Зя/4] и G4 = [Зя/4,я]. Заданная функция fix) представляется разложением (1.2). Соот­

ношения (1.3) принимают вид системы линейных алгебраических уравнений

лп

f<P*<PA= / ф* C O S xdx

(1.13)

i 0

0

 

относительно коэффициентов ai, i = 0,1/2,1,3/2,..., 4.

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

л

^

 

 

 

л

 

 

 

л л

/фоф1/2^ = -

= 0 .2 6 1 7 9 9 ,

/ ф о Ф з / 2 = ]фоФ5/2Л = |фоФ7/ 2 ^ = 0 ;

О

^

 

 

 

0

 

 

 

0 0

)ф ,/2Фodx = \ = 0,261799,

J(pf/2^

= ^

= 0,418879,

 

 

 

 

/ф у2Ф .Л = ^ = 0 ,2 6 1 7 9 9 ,

 

 

 

 

 

0

 

**

 

 

 

л

л

 

 

л

 

л

л

 

л

|ф1/2Фз/2 ^

= ]ф1/2ф2<& =

|ф |/2Ф5/2<& =

]ф |/2Ф3<& =

J(p1/2(p7/2a ft= |ф |/2ф4й& = 0 ,

0

0

 

 

0

 

0

0

 

о

 

\

 

 

4

 

8

 

 

 

 

J ф1/2 cos

= —— (1 + cos h) + — sin h = 0 ,4 7 6 3 2 3 ;

 

о

 

 

h

 

h

 

 

 

n

 

 

h

 

 

n

 

 

h

|ф|Ф./2dx =- =0,261799,

J<p,cp3/2<fr = -

= 0,261799,

о

 

 

Э

 

 

0

 

 

3

 

 

 

 

л

 

л

 

 

 

 

 

 

 

JV]4^5/2^ —f*Plty7/2^

= ^ ’

 

 

 

 

 

0

 

0

 

 

 

я

 

я

 

 

л

 

 

,

|ф 3/2ф0^

=

|ф 3/2ф|/2Л

= 0 ,

|фз/2ф)

 

= — = 0 ,2 6 1 7 9 9 ,

я

 

 

 

 

 

л

 

,

 

|ф з /2 ^ = —

= 0 ,4 1 8 8 7 9 ,

|ф 3/2ф2<& = — = 0 ,2 6 1 7 9 9 ,

о

 

 

 

 

 

о

 

3

 

Я

 

 

Л

 

л

 

л

 

 

|ф 3/2ф5/ 2 ^ =

|<р3/2ф3с & =

|ф 3/2ф7/2Л

=

/ф 3/2ф4с*с = 0 ,

 

о

 

о

о

 

 

 

о

 

\

 

 

4

 

 

8

 

sin 2А ) = 0 ,1 9 7 2 9 9 ;

J Фз/ 2 cos *abr = - - ( c o s А + cos 2А ) — ^ - ( s in А -

д

 

 

Л

 

Д

^

 

^ г Ф у г ^ — ® ’

^ФгФз/2^^ =

^ФгФ5 /2 ^ = Т

= 0>261799,

О

 

 

0

 

0 *

^

 

 

 

 

Л

 

 

 

 

 

 

 

^ФгФт/г^ = ® >

 

 

 

 

 

о

 

 

 

 

Я

Л

 

Л

 

 

Л

 

|ф 5/2Ф(А= |фь/2Ф1/2^= \%/2%^ =|ф 5/2Фз/2^ = 0 5

0

I

 

0

0

Л

0

 

Л

 

 

 

QI

 

/ф5/2Фidx =-

 

=0,261799,

j<p\n dx = — = 0,418879,

о

 

 

 

 

о

^

 

л

h

 

 

 

л

 

л

{ф 5/2 Ф .А = -

= 0 ,2 6 1 7 9 9 ,

 

|ф 5/2Фб/2^ =

{ ф 5/ 2 Ф А = 0 .

О

^

 

 

 

0

 

0

Л

4

 

 

 

8

 

 

|ф 5/2 cos xdx = —

(cos 2А +cos ЗА) — f(sin 2h - sin ЗА) = -0,197299;

о

A

 

 

 

A

 

 

Л

Л

 

 

Л

 

Л

Ц

]*ФзФ1/2^ =

]ф зФ з/2^ = ® ’

|ф зФ 5/2^ =

]ф зФ7/2^ = “ = 0, 261 799 J

0

0

 

 

0

 

0

*■*

Л

 

 

Л

ЛЛ

 

Л

Л

/ф7/2Фо^= ]"ф7/2Ф1/2^= <[ф7/2Ф1^= /ф7/2Фз/2^ =^7/гФг^ = ]ф7/2Ф5/2^ =

0

0

0

0

0

0

л

*

 

л

о[,

 

{ф 7/г Ф з ^ = -

= 0 ,2 6 1 7 9 9 ,

 

= —

= 0 ,4 1 8 8 7 9 ,

о

 

Л I

о

^

 

 

 

 

 

 

|ф 7/2ф4А = - = 0,261799,

О^

 

71

4

8

 

 

J(p1/2cos xdx =

(cos ЗА -1) -

sin ЗА = -0,476323;

Л

Л

Л

П

h

|ф 4ф ^

= /ф4фу2л = |ф4ф5/2л = 0,

|ф 4ф7/2л

= - = 0,261799.

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

ON

Таблица 1.7

О

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

0,261799

0,261799

0,130899

0,0

0,0

0,0

0,0

0,0

0,0

 

0,372923

0,261799

0,418879

0,261799

0,0

0,0

0,0

0,0

0,0

0,0

 

0,476323

0,130899

0,261799

0,523599

0,261799

0,130899

0,0

0,0

0,0

0,0

 

0,527393

0,0

0,0

0,261799

0,418879

0,261799

0,0

0,0

0,0

0,0

 

0,197299

0,0

0,0

0,130899

0,261799

0,523599

0,261799

0,130899

0,0

0,0

 

0,0

0,0

0,0

0,0

0,0

0,261799

0,418879

0,261799

0,0

0,0

-

0,197299

0,0

0,0

0,0

0,0

0,130899

0,261799

0,523599

0,261799

0,130899

-

0,527393

0,0

0,0

0,0

0,0

0,0

0,0

0,261799

0,418879

0,261799

-

0,476323

0,0

0,0

0,0

0,0

0,0

0,0

0,130899

0,261799

0,261799

-

0,372923

Результаты расчётов

Решением этой системы уравнений являются коэффициенты:

а0=1,00249 а]/2=0,067545, а, =0,708864, а3/2= 0,027978, я2=0,0,

а5/2 = -0,027979 я3 = -0,708859, а7/2 =-0,067548, а4 = -1,002489

разложения cos JC по иерархической системе кусочно-непрерывных полиномов 2-й степени. В табл. 1.8 приведены значения погрешности (1.1) аппроксимации функции COSJC при различных значениях числа слагаемых в разложении (1.2). Эти же данные представлены в графическом виде на рис. 1.15.

Таблица 1.8 Погрешность 8т аппроксимации функции cos JC иерархической

системой кусочно-непрерывных полиномов при различном числе т сегментов

т

h

sm

т

h

8m

2

1,570796

0,274816-10'1

i6

0,196350

0,592882-10^*

4

0,785398

0,324429-10'2

32

0,098175

0,725684-10'5

8

0,392699

0,454903-10'3

64

0,049087

0,933514-Ю-6

Рис. 1.15. Зависимость от длины сегментов погрешности аппроксимации функции cos х иерархической системой пробных функций 2-й степени

С использованием формулы (В.1) приближенно определяется по­ рядок погрешности аппроксимации функции cos* разложением (1.2). Для иерархической системы кусочно-непрерывных полиномов второй степени порядок погрешности аппроксимации оценивается значением

6= (1п0,274816-Ю-1-In 0,933514-Ю-6)/ /(In 1,570796 - In 0,049087) = 2,96908.

Это показывает, что погрешность аппроксимации методом Галёркина функции cosx иерархической системой кусочно-непре­ рывных полиномов 2-й степени погрешности можно приближенно оценить как величину, пропорциональную третьей степени длины h сегментов, то есть

В силу этого Ът—>0 при h —> 0 или т —> °°. Это позволяет ут­ верждать, что процесс аппроксимации функции cos х иерархической системой кусочно-непрерывных полиномов 2-й степени сходится равномерно на отрезке [0, л].

На рис. 1.16 представлена зависимость времени t выполнения расчетов от числа т сегментов разностной сетки.

Рис. 1.16. Зависимость времени t выполнения расчетов от числа т сегментов для иерархической системы кусочно-непрерывных функций 2-й степени

Выводы

1.Процедура метода Галёркина использована для аппроксима­ ции функции cos л* иерархической системой кусочно-непрерывных полиномов 2-й степени. Сформирована система линейных алгебраи­ ческих уравнений для определения коэффициентов разложения функции cos х по указанной системе функций.

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

3.С использованием разработанной программы определены ко­ эффициенты и построены разложения функции COSJC по иерархиче­ ской системе кусочно-непрерывных полиномов 2-й степени для 2, 4, 8, 16, 32 и 64 сегментов постоянной длины.

4.Для указанной последовательности разложений определены по­ грешности аппроксимации заданной функции (см. табл. 1.8) с помощью иерархической системы кусочно-непрерывных полиномов 2-й степени.

5.Показано, что с уменьшением длин сегментов погрешность ап­ проксимации уменьшается (см. рис. 1.15). Установлено, что погреш­ ность аппроксимации пропорциональна третьей степени длин сегмен­ тов (шагам интегрирования).

6.Выполненное исследование показывает, что процесс аппрок­ симации функции cos х иерархической системой кусочно-непрерыв­ ных полиномов 2-й степени сходится равномерно на заданном отрез­

ке [0, тс].

7. На компьютере с процессором Intel® Pentium® 4 (тактовая час­ тота 2,2 ГГц, объем оперативной памяти 512 Мбайт) для аппрокси­ мации функции cos х на разностной сетке, содержащей 64 сегмента, с использованием иерархической системы кусочно-непрерывных по­ линомов второй степени требуется 1,4-10"2 с.

1.4.3. Кусочно-непрерывные полиномы 3-й степени

Задание. Аппроксимировать методом Галёркина на отрезке [О, ж] функцию cos х с использованием иерархической системы ку­ сочно-непрерывных полиномов 3-й степени. Сформировать систему линейных алгебраических уравнений относительно коэффициентов разложения этой функции по заданнной системе функций; разрабо­ тать вычислительную программу для определения коэффициентов