Реферат по предмету "Математика"


Різницевий метод розв'язання крайових задач для звичайних диференціальних рівнянь

Міністерствоосвіти і науки України
Дніпропетровськийнаціональний університет ім. Олеся Гончара
Механіко-математичнийфакультет
Кафедраприкладної газової динаміки і тепломасообміну
Різницевийметод розв'язання крайових задач для
звичайнихдиференціальних рівнянь
Виконав:студент групи МТ-07-1
КоваленкоО.А.
Керівникпрактики: асистент
ГубінО.І.
Дніпропетровськ
2010

Зміст
I. Теоретична частина
I.1. Різницевий методрозв'язання крайових задач для
звичайнихдиференціальних рівнянь
I.2. Метод прогонки
II. Практична частина
II.1. Формулюваннязавдання
II.2. Лістинг програмина алгоритмічній мові Turbo Pascal
II.3. Результати обчислень
Висновки
Список використаноїлітератури

I. Теоретична частина
 
I.1 Різницевийметод розв'язання крайових задач для звичайних диференціальних рівнянь
Крайова задача – це задача відшукання часткового розв'язку рівняння
/>                          (1)
на відрізку />, у якій додаткові умовинакладаються на значення функції U(x) і її похідних більш ніж в одній точціцього відрізка. Очевидно, що крайові задачі можливі для рівнянь порядку ненижче другого.
Розглянемо крайову задачу для нелінійного рівняння другого порядку:
/>                  (2)
з крайовими умовами першого роду.
Уведемо на [a; b] сітку />, яку для спрощення будемо вважатирівномірною. Наближено виразимо другу похідну від розв'язку через значеннярозв'язку у вузлах сітки /> наприклад, скористаємосянайпростішою апроксимацією:
/>      (3)
Таку апроксимацію можна записати в кожному внутрішньому вузлі сітки xn, /> Якщопідставити її в рівняння (2), то рівняння стане наближеним; точно задовольнятицьому рівнянню буде вже не шуканий розв'язок U(x), а деякий наближенийрозв'язок /> Виконуючицю підстановку, отримаємо систему нелінійних алгебраїчних рівнянь
/>           (4)
/>
останні два рівняння апроксимують крайові умови.
Якщо /> обмеженай неперервна разом зі своїми другими похідними, так, що існує обмежена йнеперервна/>/>а також /> то при /> різницевийрозв'язок рівномірно збігається до точного із другим порядком точності.
Розв'язок системи (4) можна отримати методом послідовних наближень унаступній формі:
/>         (5)
/>
Тоді для визначення /> на кожній ітерації виходитьлінійна система, розв'язувана алгебраїчною прогонкою. Ітерації (5) збігаютьсяпри виконанні умови:
/>                    (6)
Умова (6) є достатньою, але вона близька до необхідної: більш складніоцінки показують, що якщо /> то ітерації (5) можутьрозбігатися.
Різницевий метод має свої труднощі, пов'язані в основному з розв'язаннямалгебраїчної системи рівнянь. Однак ці труднощі успішно долаються. Методприродно переноситься на рівняння високого порядку, причому трудомісткістьобчислень майже не зростає. Його чисельна стійкість звичайно хороша.
I.2 Метод прогонки
Найбільш важливим окремим випадком методу Гауса є метод прогонки,застосовуваний до систем лінійних алгебраїчних рівнянь із тридіагональноюматрицею. Такі системи звичайно записують у канонічному вигляді:
/>               (7)
/>
Метод прогонки зводиться до відшукання невідомих /> з наступних рекурентних співвідношень:
/>                   (8)
/>       (9)
Формули (8) є формулами зворотного ходу, а (9) – формулами прямого ходу.
Для початку розрахунку потрібно задати величини /> і /> які невідомі. Однак перед цимивеличинами у формулах стоять множники, рівні нулю. Це дозволяє початиобчислення, поклавши, наприклад />
Якщо виконано умову переваги діагональних елементів
/>                                     (10)
(причому хоча б для одного n має місце нерівність), то у формулах прямогоходу (9) не виникає ділення на нуль, і тим самим вихідна система (7) має єдинийрозв'язок. При виконанні умови (10) формули прогонки стійкі щодо похибококруглення й дозволяють успішно розв'язувати системи рівнянь із кількомасотнями невідомих. У практичних розрахунках для добре обумовлених систем типу(7) прогонка часто виявляється досить стійкою навіть при порушенні умовипереваги діагональних елементів.
крайова задача різницевий метод

II. Практичначастина
II.1 Формулювання завдання
Дано крайову задачу:
/>
де /> та />
Для цієї задачі необхідно:
1) застосовуючи різницевий метод одержати наближенийрозв’язок у вузлах сітки на заданому відрізку;
2) визначити вузлові значення наближеного розв’язку системиалгебраїчних рівнянь за допомогою метода послідовних наближень у сполученні зметодом прогонки
3) здійснення розрахунків на ЕОМ провести за допомогоюпрограми на алгоритмічній мові Turbo Pascal
4) представити результати у в табличній і графічній формі;
Вимоги до програмування
 
1. Алгоритм розв’язання нелінійної крайової задачі наоснові різницевого методу необхідно реалізувати у вигляді програми на мовіTurbo Pascal.
2. Метод прогонки представити в програмах у вигляді окремоїпроцедури.
3. Для обчислення значень заданих функцій створити окреміпідпрограми.
4. Текст програми не повинен мати числових констант.Рекомендується використовувати тільки змінні.
5. Для ітераційного циклу при обчисленні наближеногорозв’язку нелінійної задачі передбачити ресурс ітерації, при вичерпуванні якогопрограма повинна повідомляти про розбіжності процесу.
II.2. Лістинг програми на алгоритмічній мові Turbo Pascal
 
Program LP;
uses crt;
const n=40;
 ag=-pi/6;
 bg=pi/6;
 alfa=1/3;
 beta=-1/3;
 e=1e-5;
 s=4;
var i,k:integer;
 h,xi,max:real;
 y,y0:array[0..n+1] of real;
 a,b,c,d:array[0..n] of real;
 ff:text;
function f(u,v:real):real;
var st:real;
begin
 if u>0 then st:=exp(ln(u)/3)
 else if u
 else st:=0;
 f:=sqr(cos(v))/2+3*st;
end;
procedure Progonka(np:integer; var ap,bp,cp,dp,yp:array of real);
var ip:integer;
 ksi,eta:array[0..n+1] of real;
begin
 ksi[0]:=0; eta[0]:=0;
 for ip:=0 to np do
 begin
 ksi[ip+1]:=cp[ip]/(bp[ip]-ap[ip]*ksi[ip]);
 eta[ip+1]:=(ap[ip]*eta[ip]-dp[ip])/(bp[ip]-ap[ip]*ksi[ip]);
 end;
 for ip:=np downto 0 do yp[ip]:=ksi[ip+1]*yp[ip+1]+eta[ip+1];
end;
begin
 clrscr;
 h:=(bg-ag)/n;
 a[0]:=0; b[0]:=-1; c[0]:=0; d[0]:=alfa;
 a[n]:=0; b[n]:=-1; c[n]:=0; d[n]:=beta;
 for i:=1 to n-1 do
 begin
 a[i]:=1; b[i]:=2; c[i]:=1;
 end;
 y[n+1]:=0;
 for i:=0 to n do
 begin
 xi:=ag+i*h;
 y[i]:=(beta*(xi-ag)+alfa*(bg-xi))/(bg-ag);
 end;
 k:=0;
 repeat
 k:=k+1;
 y0:=y;
 for i:=1 to n-1 do
 begin
 xi:=ag+i*h;
 d[i]:=h*h*f(xi,y0[i]);
 end;
 Progonka(n,a,b,c,d,y);
 max:=0;
 for i:=0 to n do if max
 if k=100 then break;
 until max
 assign(ff,'f:\praktika.xls');
 rewrite(ff);
 writeln(ff,'xi':6,#9,'yi':8);
 i:=0;
 while i
 begin
 writeln(ff,(ag+i*h):8:4,#9,y[i]:8:4);
 i:=i+s;
 end;
 writeln(ff,bg:8:4,#9,y[n]:8:4);
 writeln(ff);
 writeln; writeln(ff,'k=',k);
 close(ff);
 writeln('rezultati raschetov vivedeni v fail praktika.xls');
 readkey;
end.

II.3. Результати обчислень
Таблиця(наближений розв’язок крайової задачі для різної кількості вузлівта ітерацій)
xi  k=4 k=1 n=10 n=20 n=30 n=40
yi
/>
yi
/>
yi
/>
yi
yi
/> -0,5236 0,3333 0,0000 0,3333 0,0000 0,3333 0,0000 0,3333 0,3333 0,0000 -0,4189 0,2870 0,0349 0,2869 0,0000 0,2869 0,0000 0,2869 0,2866 0,1046 -0,3142 0,2212 0,1358 0,2210 0,0453 0,2209 0,0000 0,2209 0,2204 0,2263 -0,2094 0,1382 0,2903 0,1379 0,0726 0,1379 0,0726 0,1378 0,1371 0,5080 -0,1047 0,0410 0,7371 0,0408 0,2457 0,0407 0,0000 0,0407 0,0398 2,2113 0,0000 -0,0662 0,0000 -0,0662 0,0000 -0,0662 0,0000 -0,0662 -0,0673 1,6616 0,1047 -0,1680 0,2387 -0,1677 0,0597 -0,1676 0,0000 -0,1676 -0,1689 0,7757 0,2094 -0,2489 0,1610 -0,2486 0,0402 -0,2485 0,0000 -0,2485 -0,2498 0,5231 0,3142 -0,3051 0,0984 -0,3049 0,0328 -0,3049 0,0328 -0,3048 -0,306 0,3937 0,4189 -0,3340 0,0599 -0,3339 0,0300 -0,3338 0,0000 -0,3338 -0,3345 0,2097 0,5236 -0,3333 0,0000 -0,3333 0,0000 -0,3333 0,0000 -0,3333 -0,3333 0,0000
де n – кількість проміжків; xi – вузли сітки; yi – наближені значення шуканоїфункції у вузлах;
/> - відноснапохибка у відсотках
/>
Рис.1 Графік розв’язку крайової задачи

Висновки
 
Висновки: за період проходження навчально-обчислювальноїпрактики я ознайомився з чисельними методами розв’язання крайових задач зокремаз різницевим методом. Для індивідуального варіанту завдання був знайденийрозв’язок крайової задачі з заданою правою частиною. Розрахунок здійснювався задопомогою програми на мові Turbo Pascal. Різницевий метод виявився доволіпростим в реалізації на алгоритмічній мові та дав швидку збіжність.

Список використаної літератури
 
1.  КалиткинН. Н. Численные методы. – М.: Наука, 1978. – 512 с.
2.  СамарскийА. А. Теория разностных схем. – М.: Наука, 1989. – 616 с.
3.  СамарскийА. А., Николаев Е. С. Методы решения сеточных уравнений. – М.: Наука, 1978. –592 с.
4.  РапаковГ. Г., Ржеуцкая С. Ю. Программирование на языке Pascal… – СПб.:БХВ-Петербург, 2005. – 480 с.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.