Nazorat savollari
Differensial tenglamalar qanday sinflarga bo‘linadi?
Qanday tenglamalar oddiy differensial tenglamalar hisoblanadi?
Differensial tenglamaning umumiy yechimi nima?
Differensial tenglamalarnig xususiy yechimi qanda aniqlanadi?
Differensial tenglamalar yechishning qanday usullarini bilasiz?
§. Koshi masalasini yechishning Eyler usuli Tayanch so‘z va atamalar
Koshi masalasi, boshlang’ich shart, Eyler usulining ishchi formulasi, usulning geometrik ma'nosi, Eyler usulining xatoligi, usulga mos algoritm blok-sxemasi, dasturi
Bizga quyidagi birinchi tartibli oddiy differensial tenglama(Koshi masalasi)ni
y ' = f (x, y) (6.2)
[a, b] oraliqdagi y0 = y(x0) boshlang’ich shartni qanoatlantiruvchi aniq yechimi y = y(x) ni topish lozim bo‘lsin.
Koshi masalasini Eyler usuli yordamida yechish uchun, dastlab differensial tenglamaning yechimi qidiriladigan [a, b] kesmani
x0, x1,..., xn tugun nuqtalar bilan bo‘laklarga bo‘lamiz. Tugun
nuqtalarning koordinatalari xt+t = a + (i + 1)h, (i = 0,n-1) formula orqali
aniqlanadi. Har bir tugunda Xx) echimning qiymatlarini chekli ayirmalar yordamida taqribiy yt qiymatlar bilan almashtiriladi.
Ma'lumki, y = y(x) funksiyaning x = xi nuqta atrofidagi Teylor qatoriga yoyilmasini quyidagicha yozish mumkin:
y(x+i) = y(x) + h ■ y'(xi) + 2 h 2' у ,(x) + •••
Ushbu cheksiz qatorning boshidagi ikkita had bilan chegaralanib, birinchi tartibli hosila qatnashgan hadni aniqlash natijasida quyidagi chekli ayirmali formulani hosil qilamiz:
y'(xi)=у^Ш+ат (6.3)
Ushbu almashtirishning geometrik ma'nosi haqida fikr bildiraylik. Hosilaning geometrik ma'nosiga ko‘ra (17-rasm)
У,(X-) = tgfi
ED = ED AD ~ h
(6.3) dan
У ’(Xi )
У,+1 - =
h
BD
~h~
ED BE
- + ■
h
h
= ’(x- +
BE
~h
BD
Demak, chekli ayirmalar formulasi hosilaning asl qiymatidan be / h ga farq qiladi, ya'ni be qancha kichik bo‘lsa, chekli ayirma y' hosilaga shuncha yaqin bo‘ladi. Rasmdan h ® oda be ® о ekanini ko‘rish mumkin. (6.2) va (6.3) dan y\ = f (xi,y.) ekanini hisobga olib, quyidagini hosil qilamiz: y+i = yt + h ■ f (xt, yt)+a (h2).
Yangi taqribiy У. » У. qiymatlarni ushbu formula bilan kiritamiz:
У.+1 = yt + h ■ f(xi, Уг) (6.4)
Hosil qilingan (6.4) formula Eyler usulining asosiy ishchi formulasi bo‘lib, uning yordamida tugun nuqtalarga mos bo‘lgan differensial tenglamaning yг xususiy yechimlarini topish mumkin.
Yuqoridagi formuladan ko‘rinib turibdiki, yi+i yechimni topish uchun yi yechimnigina bilish kifoya.
Eyler usulining geometrik ma'nosi bilan tanishib chiqaylik:
A nuqta x = xi nuqtaga mos keluvchi yechim bo‘lsin. Bu nuqtadan integral chiziqqa o‘tkazilgan urinma xt+1 nuqtada boshqa integral chizig’ida yt+1 yechimni aniqlaydi.
Urinmaning og’maligi p- yi = f(xt, y,) hosila bilan aniqlanadi. Demak, Eyler usulidagi yo‘l qo‘yilgan asosiy xatolik yechimni bir integral chizig’idan boshqasiga o‘tkazib yuborishi bilan xarakterlanadi. y = f (x) funksiyani x = xt nuqta atrofida Teylor qatoriga yoyib, bu qatordagi chiziqli xadlar bilangina cheklanganimiz uchun (6.4) formulani
yt+1 = yt + h •f (xt. yt) + O (h 2)
kabi yozish mumkin. Har bir qadamda Eyler usuli xatoligi 0(h2) bo‘ladi. Qidirilayotgan yechimni n -ta nuqtada topilishini inobatga olsak bu xatoliklar jamlanib borib n - 0(h2) ga teng bo‘ladi. Lekin, h = l/n, l - integrallanuvchi kesma uzunligi, bo‘lganligi uchun usulning yakuniy xatosi
n - 0(h2) = L / n - 0(h2) = L - 0(h) = 0(h)
ga teng bo‘ladi.
Shunday qilib, usulning aniqlik darajasi integrallash oralig’ini
bo‘linish qadamiga bog’liq bo‘lib, bu qadam qanchalik kichik bo‘lsa,
yo‘l qo‘yilgan xatolik ham shunchalik kichik bo‘ladi.
Teylor qatoridagi hadlarni ko‘proq ushlab qolish evaziga turli xil
ko‘rinishdagi takomillashgan formulalarga ega bo‘lish mumkin.
129
Algoritmning dastur matni
Eyler usuliga mos algoritm blok-sxemasi
Program Eyler;
var a,b,x0,y0,x,y,h:real;
Function f(x,y:real):real; begin
f:=; end;
Begin
Write(‘a,b=’); readln(a,b); Write(‘y0=’); readln(yO); xO: =a;
Write(‘h=’);readln(h); writeln(‘x0=’,x0,’ y0= ’, yO); x:=x0;y: =y0; while x< b do begin
y:=y+h*f(x,y);
Writeln(‘x=’,x; ‘ y=’,y);
x: =x+h; end;
Readln;
end.
Eyler usulining ishchi formulasi qanday hosil qilinadi?
Eyler usulinig geometrik ma'nosini ifodalay olasizmi?
Eyler usulinig xatoligi qanday baholanadi?
§. Koshi masalasini yechishning Runge-Kutta usuli Tayanch so‘z va atamalar
Runge - Kutta usuli, usulning ishchi formulasi, algoritm blok- sxemasi, datur tavminoti.
Bir qadamli oshkor usullaming boshqa bir necha xillari ham mavjud bo‘lib, ularning ichida amalda eng ko‘p ishlatiladigani Runge-
Kutta usuli hisoblanadi. Usul shartiga ko‘ra har bir yangi xi +1 tugun nuqtadagi yM yechimni topish uchun f (x, y) funksiyani to‘rt marta har xil argumentlar uchun hisoblash kerak. Bu jihatdan Runge-Kutta usuli hisoblash uchun nisbatan ko‘p vaqt talab qiladi. Lekin, Eyler usuliga ko‘ra aniqligi yuqori bo‘lganligi uchun, undan amalda keng foydalaniladi. Usulning ishchi formulasi quyidagicha yoziladi:
h
yi+1 = yi +— (k0 + 2k1 + 2k2 + k3) , i = 0,1,...,n -1,
6
bu yerda k0 = f (x, yt);
h h
k1=f (xi+2, у^ + 2 ■ k0);
hh
k2 =f (xi + 2, у^+^ ■ k1); k3 = f (xi +h, у; +h ■ k2);
Demak, formulalardan ko‘rinib turibdiki, Eyler usuli birinchi tartibli Runge-Kutta usuliga mos keladi. Runge-Kutta usulining aniqligi 0(h4) kichik miqdor bilan baholanadi, ya'ni Eyler usuliga nisbatan to‘rt marta yuqori aniqlikka egadir.
Runge-Kutta usuliga mos blok-sxema
Algoritmning dastur matni
Program R kutta;
var a,b,x0,y0,h,x,y,k0,k1, k2,k3: real; function f(x,y:real):real; begin
f:=. . .;end;
Begin
Write (‘a,b=’);readln (a,b);
Write (‘y0, h=’);readln (y0, h); x:=a;y: =y0; while x
k1:=f(x+h/2,y+h*k0/2);
k2:=f(x+h/2,y+h*k1/2);
k3:=f(x+h,y+h*k2);
y:=y+(k0+2*k1+2*k2+k3)*(h/6);
x:=x+h;
Writeln(‘x= ’,x,’ y=’,y );end; readln; end.
Yuqorida ko‘rib chiqilgan dasturlaming to‘g’riligini va usullarning aniqlik darajasini tekshirish uchun bitta ixtiyoriy differensial tenglama olamiz. Aniq yechimni analitik usulda hisoblash qulay bo‘lishi uchun quyidagi tenglamani ko‘rib chiqamiz:
y' = cos(x) tenglamaning [0,1] oraliqda h = 0,1 qadam bilan
y (0) = 1 boshlang’ich shartni qanoatlantiruvchi yechimini topish kerak.
Yuqoridagi dasturlarga kerakli qiymatlarni kiritamiz. x0 = 0 ; y0 = 1; f (x) = cosx; a = 0; b = 1; h = 0,1
Yuqoridagi tenglama uchun aniq yechim sifatida y = sin x + c ni olamiz. Uni boshlang’ich shartlarga qo‘yib: 1 = sin0 + c noma'lum
o‘zgarmasni aniqlaymiz: c = 1. Demak, differensial tenglamaning
xususiy yechimi: y = sin x +1.
Olingan natijalarga mos qiymatlardan iborat jadval tuzamiz.
Xi
|
Eyler usuli
uchun
|
Runge-Kutta usuli
uchun
|
Aniq yechim
|
0.1
|
1,1000
|
1,0998
|
1,0998
|
0.2
|
1,1995
|
1,1986
|
1,1986
|
0.3
|
1,2975
|
1,2955
|
1,2955
|
0.4
|
1,3930
|
1,3894
|
1,3894
|
0.5
|
1,4851
|
1,4794
|
1,4794
|
0.6
|
1,5729
|
1,5646
|
1,5466
|
0.7
|
1,6554
|
1,6442
|
1,6442
|
0.8
|
1,7319
|
1,7173
|
1,7173
|
0.9
|
1,8015
|
1,7833
|
1,7833
|
1
|
1,8637
|
1,8414
|
1,8414
|
Natijalardan ko‘rinib turibdiki, haqiqatan ham Runge- Kutta usulidan olingan natijalar Eyler usulidan olingan natijalarga ko‘ra aniq yechimga ancha yaqindir.
РЙ
Dostları ilə paylaş: |