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

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

{ if(k==0) { C[4*k][4*k]=h/3.0;

F [4*k] = (1.0-cos(h))/h;

else

}

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

 

F [4*k]= - (cos((k-1)*h)-

2.0*cos(k*h)+cos((k+1)*h))/h;

}

C [4*k] [4*k+l]=C[4*k+l] [4*k]=h/3.0; C [4*k+l] [4*k+1]=8.0*h/15.0;

C [4*k] [4*k+2]=C[4*k+2] [4*k]=-h*h/30.0; C [4*k+l] [4*k+2]=C[4*k+2] [4*k+l]=0.0;

C [4*k+2] [4*k+2]=2.0*h*h*h/105.0;

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

C [4*k] [4*k+3]=C[4*k+3] [4*k]=h*h*h/120.0;

C [4*k+l] [4*k+3]=C[4*k+3] [4*k+l]=h*h*h/105.0; C [4*k+2] [4*k+3]=C[4*k+3] [4*k+2]=0.0;

C [4*k+3] [4*k+3]=C[4*k+3] [4*k+3]=h*h*h*h*h/2520.0; C[4*k+4] [4*k+3]=C[4*k+3] [4*k+4]=h*h*h/l20.0;

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

F [4*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;

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

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

}

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

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

// Решение

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

G A USS (С,

F, 4*Ne+l);

Ь _______________________________________________________

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

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

[0,Jt]=G, UG2UG3UG4,

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

лл

]<Р*ФА= }ф* C O S xd x,

(1.17)

о

о

 

относительно коэффициентов ai9 i - О, 1/2, Г/2, Г /2, 1, 3/2, 3'/2, 3 '/2 , ..., 4.

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

Л Я Л Я

|ф оФГ/2^ = -ргг = 0,004037,

|ф 0фу2Л = |фоФу2* = { ф о Ф ^ = 0;

0

 

 

0

0

0

 

 

К : Ф ' ^

= ^

= 0,004614,

 

ТС

IT

 

ТС

 

 

/ф./зФэ/г^ = |ф)/2Ф5/2^ = /ф|/2ф'/2<=йс = 0 ;

 

0

0

 

0

 

 

ТС

ТС

Я

ТС

 

|ф;/2ф '2й£г=|ф;/2ф' 2<&= / ф;/2ф' 2^ =

}ф;/2ф' 2^ = о;

 

0

0

0

0

 

К Ф . А =

= 0,004037,

 

( ф ' ^ Л

= ^ - = 0,004614,

 

) ф ^ ф ^ л = 0,

)(ф '2 У<Ь= ^

=0,000119,

 

О

 

о

ZDZU

 

 

К / 2Ф А = ^

= 0,004037,

Я

я

я

я

я

я

{фугФз/г^ = {фугФз/г^ = {фугФз/г^*' = {ф^гФг^ = {ф^Фб/г^ = {фугФз/г^* =

о

о

о

о

о

 

о

Л

Я

Я

 

я

П

Л

{ф'2Ф?2^ = /ф^ФзЛ = |ф1/2Ф7/2^= |фу2Ф7/2Л = |ф^Ф7/2А = { ф 'гФ ^ ^ т

О

0

0

О

О

О

 

-Г ,

j

(48 —Л2 Xl + cos A)

(Sh2 -4s)sinh

пЛЛ-,0, 5.

I(pw2 cosxdx = ---------------------- + ---------r

----- = 0,007215;

о

 

 

h

 

 

Jq>,q>w*=^=°>004037.

 

) ф,ф' 2^

= “

°.°04037.

яя

J<p,(P5/2<fc= J<Pi<p;/2c& = 0;

ОО

)фз/2фГ/2dx =0,

|ф 3/2Фз/2^ = ^ 7 = 0,004614,

о

о

яя

J(p3/2cp5/2<ix = Jф3/2Ф7/2 = 0 ’

ОО

я я Я Я

|ф'з/2фГ/2^ =

|фз/2Фз/2<*= |фз/2Ф5/2^= .(фз/гФ'/г^ = 0;

о

о

о

 

о

 

 

я

 

я

я

 

я

 

|фз/2фо^= JФ3/2ФI/2С^Х= з/2Ф1/2^= j"Ф3/2Ф1 / 2 = ^ ’

0

 

0

0

 

0

 

}ф^Ф|Л = ^

= 0,004037,

 

/ ф*Ф *Л = "

0,004614,

О

 

 

 

о

1UD

 

 

К / 2ф'з/2^

= 0,

|( ф' 2 )2^ = ^

= 0,000119,

 

 

] ф > 2 * “

= 0,004037,

 

Я

 

Я

Я

 

Я

 

|фз/2ф5/2^= |фз/2ф5/2^= {ф3/2ф5/2^

= |фз/2ф3<Я!х = О,

0

 

0

0

 

0

 

я

 

я

 

я

я

 

= j"Ф3/2Ф7/2

= _[фз/2Ф7/2^* = |фз/2Ф7/2й^' = |фз/гФ4^Г = 0,

0

 

0

 

0

0

 

*( ,

(48 - Л2 )(cos/? + cos2h)

(5h2- 48) (sin Л - sin 2й)

]ф3/2 cosxdx = ^

----------- - - 4 ---------------------------- - = 0,002989;

о

 

 

 

 

h

 

 

я

 

Я

,

3

 

|ф 2ф '2Л = 0 ,

/ф 2ф ^ л = — = 0,004037,

K

h3

*

Jcp2(py2^

= — = 0,004037,

J<p2<p'2<& = 0;

0

1ZU

0

п

к

K

h3

5/2 Ф1/2 ^* = {Ф5/2 Ф3/2 ^* = ®»

5/2 Ф5/2

= 777 = 0.004614 ,

0

0

0

 

к

|ср5/2(р;/2Л = 0;

о

кJ<Р'тЧ'чЛ = к|ф'5/2Фз/2^ = к{фугФуг^ =к {фугф'д^ = 0;

0

 

0

0

 

 

0

Я

 

Я

Я

 

 

я

|ф5/2Фо^= ^Ф5/2Ф1/2^^ = ^Ф5/2Ф1 / 2 ~ / Ф5/2Ф1 / 2 =

0

 

0

0

 

 

0

я

 

я

я

 

 

я

= ^Ф5/2Ф1^^ = /ф 5/2Ф3/2

= /ф 5/2Ф3/2

= JФ5/2Ф3/2 = 0,

0

 

0

0

 

 

0

К * ф 2А = ~ = 0,004037,

 

)ф'/2Ф5/2^ = ~ - =0,004614,

о

1^0

 

 

0

 

IU J

}ф;/2Ф;/2Л

= 0,

J(<P*)2* =

 

= 0,000119,

о

 

 

о

 

ZJ ZV

 

 

|ф '2ф3Л = ^

= 0,004037,

Я

 

Я

Я

 

 

Я

j"Ф5/2Ф7 / 2 = JФу'2Ф7/2^- = |Ф5/2Ф7/2^

= JФ5 2ф4Л ~ 0,

0

 

0

0

 

 

0

(48-Az)(cos2A+cos3A)

(5A2-48)(sin2A-sin3/j)

|фу2 cosxdx=--------- ^

------------ --------------^

------------ -=-0,002989;

 

 

 

 

 

 

71

я

 

 

я

 

 

|фзФ\/2с^х= |ф зФ32dx =0,

 

|фзф5/2Л = — = 0,004037,

}фзФ' 2<& = - ^ = 0,004037;

Л

71

71

 

 

j*Ф7/2 Ф1/2

= J"Ф7/2 Ф3/2

=

J*Ф7/2 Ф5/2

= ^

 

 

 

О

 

О

О

 

 

 

 

 

 

 

 

 

)ф 7/2Ф7/2^ = ^

= 0,004614;

 

 

 

 

71

 

71

 

Я

 

Я

 

 

 

 

 

] ,(р7/2 (р 1/2й&С =

 

7/2 ф 3/2

= ^ Ф 7/2 Ф 5/2^^ = J”Ф 7/2 Ф 7/2

= ^ >

 

0

 

0

 

0

 

0

 

 

 

 

 

я

 

я

 

я

 

 

я

 

 

 

 

|ф7/2Ф о^= |ф7/2Ф1/2^= |Ф7/2Ф^2^= {ф7/2фГ/2^ =

 

0

 

0

 

0

 

 

0

 

 

 

 

я

 

я

 

я

 

 

я

 

 

 

 

= JФ7/2 ФI

= |ф 7 / 2 Ф з / 2 ^ = |ф 7 / 2 Ф з / 2 ^ =

| ф

7/2 Ф3/2 ^

=

 

0

 

0

 

0

 

 

0

 

 

 

 

я

 

я

 

я

 

 

я

 

 

 

 

= |ф7/гФ2^= |ф7/2Ф5/2^= |ф7/2Ф5/2^= |ф7/2Ф5/2^ = ®»

 

0

 

0

 

0

 

 

0

 

 

 

 

) ф '2ф3Л

= - ^ - = 0,004037,

 

л

 

~

И3

= 0,004614,

 

 

JФ7/2 Ф7/2

 

 

7/2(р7/2^

= 0,

}(ф' 2 fd x = ^ — =0,000119,

 

о

 

 

 

о

 

ZJ ZU

 

 

 

 

 

 

) ф '2ф4^

= ^

= 0,004037,

 

 

 

%

(48-/»2)(COS3/H-COS4//)

(5А2 - 48) (sin ЗА -sin 4А)

[ф'д cosхЛ = ^

 

 

^

 

^

 

И2

------------- - = -0,007215;

Г

' 2

 

2h

 

 

 

 

 

 

л

я

 

 

я

 

 

я

 

 

^3

 

|ф4фГ/2^ = }ф4Фз/2^ =

|ф4ф'/2^ = 0 1

|ф4Ф7/2^

=

ттх = 0,004037;

о

о

 

 

о

 

 

о

 

 

 

 

 

Значения

коэффициентовсистемы

линейных

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

уравнений, используемой для построения аппроксимации функ­ ции cos х иерархической системой кусочно-непрерывных полино­ мов четвёртое степени, и правая часть этой системы приведены в табл, l.l I.

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

0,261799

0,261799- 0,0205620,004037

0,130899

0,0

0,0

0,0

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,004614

0,261799

0,0

0,0

0,0

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,0

0,020562

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

-0,006112

0,004037

0,004614

0,0

0,000119

0,004037

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,007215

0,130899

0,261799

0,020562

0,004037

0,523599

0,261799 - 0,020562 0,004037

0,130899

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,527393

0,0

0,0

0,0

0,0

0,261799

0,418879

0,0

0,004614

0,261799

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,197299

0,0

0,0

0,0

0,0

-0,020562

0,0

0,009228

0,0

0,020562

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

-0,014756

0,0

0,0

0,0

0,0

0,004037

0,004614

0,0

0,000119

0,004037

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,002989

0,0

0,0

0,0

0,0

0,130899

0,261799

0,020562

0,004037

0,523599

0 Д6 1799-0,020562 0,004037

0,130899

0,0

0,0

0,0

0,0

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,004614

0,261799

0,0

0,0

0,0

0,0

-0,197299

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

- 0,020562

0,0

0,009228

0,0

0,020562

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,0

0,004037

0,004614

0,0

0,000119

0,004037

0,0

0,0

0,0

0,0

-0,002989

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,130899

0,261799

0,020562

0,004037

0,523599

0,261799-0 ,0205620,004037

0,130899

-0,527393

0,0

0,0

0,0

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,004614

0,261799

-0,476323

0,0

0,0

0,0

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,0

0,020562

-0,006112

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,0

0,004037

0,004614

0,0

0,000119

0,004037

-0,007215

0,0

0,0

0,0

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 ,0(4037

0,261799

-0,372923

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

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

а0= 0,999995, а1/2= 0,07033,

а\/2 = 0,00974,

a[j2 =0,01164,

а, =0,707103, ау2 =0,029132, аг/2 = -0,02351,

a\j2 =-0,00482,

а2 =0,0, а}/2 =-0,02913,

а'5/2 =-0,02351

а'/2 =0,004819,

аг = —0,7071, а1/2 = -0,07033, а'1/2 = -0,00974, а ' 2 =0,011635, а4 =-1,0

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

Таблица 1.12

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

при различном числе т сегментов1

т

h

К

т

h

ьт

 

2

1,570796

0,24843 М О"3

16

0,196350

0,693812

10'8

4

0,785398

0,628773 10’5

32

0,098175

0,254116

10-9

8

0,392699

0,216509-10-6

64

0,049087

0,21561710-8

Эти же данные представлены в графическом виде на рис. 1.21. Рост погрешности при малом шаге h интегрирования обусловлен накоплением погрешности округления при выполнения большого объёма вычислений.

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

Ь= (1п0,248431-10'3- In 0,254116-10-9)/(lnl,570796 —1п0,098175) =

=4,97474.

Для получения достоверных данных расчёты выполнены с использованием 10-байтовых данных вещественного типа long double (см. листинг Программы 1.6).

0,01 0,1 1 h Рис. 1.21. Зависимость от длины h сегментов погрешности

аппроксимации функции cos х иерархической системой пробных функций 3-й степени

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

Это показывает, что погрешность аппроксимации методом Галёркина функции C O S J C иерархической системой кусочно-непре­ рывных полиномов 4-й степени погрешности можно приближенно оценить как величину, пропорциональную 5-й степени длины h сег­ ментов, т.е.

5 » = | / - 1 > ^ | = С,И -

В силу этого ->0 при О или т -><*>. Это позволяет утвер­

ждать, что процесс аппроксимации функции cos* иерархической системой кусочно-непрерывных полиномов 4-й степени сходится

равномерно на отрезке [0, к].

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

Выводы

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

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

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

4.Для указанной последовательности разложений определены

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

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

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

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

линомов 4-й степени требует 7,510"2с.

2. ГРАНИЧНАЯ ЗАДАЧА. ОДНОМЕРНОЕ

СТАЦИОНАРНОЕ ДИФФЕРЕНЦИАЛЬНОЕ

УРАВНЕНИЕ ТЕПЛОПРОВОДНОСТИ

Уравнение стационарной теплопроводности (диффузии или кон­ центрации) - дифференциальное уравнение эллиптического типа - в общем случае имеет вид

V-[XVr(x)] + ^(x)=0,

xeQ

(2.1)

с граничными условиями первого рода

 

 

Т(х) = Т1, хе Г,,

 

(2.2)

второго рода

 

 

XV7’(x) n= - 9 , хе Г2,

(2.3)

третьего рода

 

 

XV7'(x) n = -a(7’|rj-Г_),

хе Г3,

(2 .4 )

где 7\х) - искомое распределение температуры (концентрации веще­ ства); X - коэффициент теплопроводности (диффузии); W(x) - мощ­ ность внутренних источников тепла (вещества); q - заданный поток тепла (вещества); п - вектор единичной нормали к поверхности; a - коэффициент теплоотдачи (поступления вещества) с поверхности; Too- температура окружающей среды (концентрация вещества в ок­ ружающей среде); Q - область, занятая телом; Г - граница области Q, Г = Г, и Г2 и Г3.

Температурное поле Т(х) в тонком однородном стержне длиной L, теплоизолированном с боковой поверхности, описывается уравнением

одномерной теплопроводности

 

[Х Г М + И ^ Ь О .

(2.5)

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

7’( ^ ) L = 7’°

(2-6)

или правом конце стержня

7' M L = r ‘

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

^T'(xl__0 =Q°

(2.7)

или правом конце стержня

хт'(4

где Q°,QL - величины тепловых потоков через торцевую поверх­ ность на левом и правом концах отрезка соответственно.

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

д = а (Т -Т „ ),

что приводит к граничному условию третьего рода для левого конца

* г ( * и = “ [7' И , « - 7'-]

<2-8>

или правого конца стержня

Граничное условие третьего рода можно в общем виде записать как смешанное граничное условие

аТ'(х) + ЬТ(х) = с,

где х = 0 или х = L.

Очевидно, что граничные условия (2.6) и (2.7) могут рассматри­ ваться как частные случаи условия (2.8).

Искомое решение 7\лг) дифференциального уравнения (2.5) при­ ближенно представляется разложением по кусочно-непрерывным