§ 7.4. Eyler usuli
Ushbu bo’limning yuqori paragraflarida ko’rilgan usullar taqribiy analitik usullar bo’lib, bu hollarda yechimlar analitik (formula) ko’rinishlarida olindi. Bu usullar bilan topilgan yechimni aniqlik darajasi haqida yuritish birmuncha murakkab bo’ladi.
Masalan, ketma-ket differensiallash usulini qo’llaganda qatorning juda ko’p hadlarini hisoblashga to’g’ri keladi va ko’p hollarda shu qatorni umumiy hadini aniqlab bo’lmaydi. Pikar algoritmini qo’llaganimizda esa, juda murakkab integrallarni hisoblashga to’g’ri keladi va ko’p hollarda integral ostidagi funktsiyalar elementar funktsiyalar orqali ifodalanmaydi. Amaliy masalalarni yechganda, yechimlarni formula ko’rinishida emas, balki jadval ko’rinishida olingani qulay bo’ladi.
Differensial tenglamalarni sonli usullar bilan yechganda yechimlar jadval ko’rinishida olinadi. Amaliy masalalarni yechishda ko’p qo’llanadigan Eyler va Runge–Kutta usullarini ko’rib chiqamiz.
Birinchi tartibli differensial tenglamani
y’=f(x,y) (7.4.1)
[a,b] kesmada boshlang’ich shart: x=x0 da u=u0 ni qanoatlantiruvchi yechimi topilsin.
[a,b] kesmani x0, x1, x2, ..., xn nuqtalar bilan “n” ta teng bo’laklarga ajratamiz.
Bu erda xi=x0+ih (i=0,1, ..., n), h= – qadam.
(7.4.1) tenglamani [a,b] kesmaga tegishli bo’lgan biror [xk , xk+1] kesmada integrallasak
k
Bu erda y(xk)=yk belgilash kiritsak
uk+1=uk+ (7.4.2)
Bu erda integral ostidagi funktsiyani [xk , xk+1] kesmada o’zgarmas x=xk nuqtada boshlang’ich qiymatga teng desak, Eyler formulasini hosil qilamiz:
uk+1= yk+ yk , yk=hf(xk,yk) (7.4.3)
Ushbu jarayonni [a,b] ga tegishli bo’lgan har bir kesmachada takrorlasak, (7.4.1) ni yechimini ifodalovchi jadvalni tuzamiz..
Eyler usulini differensial tenglamalar tizimini yechishni ham qo’llash mumkin. Quyidagi sistema uchun boshlang’ich masala berilgan bo’lsin:
x=x0 da u=u0, z=z0 (7.4.4)
(7.4.4) ning taqribiy yechimlari quyidagi formulalar bilan topiladi
ui+1=yi+ yi , zi+1=zi+ zi
Bu erda
ui=hf1(xi,yi,zi), zi=hf2(xi,yi,zi), (i==0,1,2, ...)
Misol. Eyler usuli bilan y’=y+(1+x)y2 , u(1)=-1 masalaning yechimi [1;1,5] kesmada h=0,1 qadam bilan topilsin.
Yechish. Masalani shartidan x0=1, u0=-1 topamiz va (7.4.3) Eyler formulasidan quyidagi jadvalni tuzamiz.
-
I
|
xi
|
yi
|
f(xi ,yi)
|
Aniq yechim
|
0
|
1
|
-1
|
1
|
-1
|
1
|
1,1
|
-0,9
|
0,801
|
-0,909091
|
2
|
1,2
|
-0,8199
|
0,659019
|
-0,833333
|
3
|
1,3
|
-0,753998
|
0,553582
|
-0,769231
|
4
|
1,4
|
-0,698640
|
0,472794
|
-0,714286
|
5
|
1,5
|
-0,651361
|
|
-0,666667
|
Jadvaldan taqribiy yechim va aniq yechim orasidagi farqlarni xam ko’rishimiz mumkin.
Bu usulni takomillashtirilgan ko’rinishlaridan biri Eyler-Koshi usulidir. Eyler-Koshi usuli yordamida esa taqribiy yechimlar quyidagi formulalar orqali xisoblanadi:
bu erda
.
§ 7.5 Runge – Kutta usuli
Runge – Kutta usuli ko’p jixatdan Eyler usuliga o’xshash, ammo aniqlik darajasi Eyler usuliga nisbatan yuqori bo’lgan usullardan biridir. Runge – Kutta usuli bilan amaliy masalalarni yechish juda qulay. Buning sababi, bu usul orqali noma’lum funktsiyani xi+1 dagi qiymatini topish uchun uning xi dagi qiymati aniq bo’lishi etarli.
Runge – Kutta usulini uning aniqlash darajasi bo’yicha bir nyecha usullarga ajratadilar. Shulardan amaliyotda eng ko’p qo’llanadigani to’rtinchi darajali aniqlikdagi Runge – Kutta usulidir.
Birinchi tartibli differensial tenglama y’=f(x,y) uchun x=xi da y=yi (i=0,1,2, ...n) qiymatlar ma’lum bo’lsin. Bu erda “ui” boshlang’ich shart ma’nosida bo’lmasligi ham mumkin.
Tenglamaning yechimi qidirilayotgan kesma [a,b], xi=x0+ih (i=0,1,2,...n) nuqtalar bilan bir-biriga teng “n” ta bo’lakka bo’lingan.
Noma’lum funktsiya “u” ni x=xi+1 dagi qiymati yi+1= y(xi+1) ni topish uchun quyidagi ketma-ket hisoblash jarayonini amalga oshirmoq lozim bo’ladi:
K1(i)=hfi(xi,yi)
K2(i)=hfi(xi +h/2, yi+K1(i)/2)
K3(i)=hfi(xi +h/2, yi+K2(i)/2) (7.5.1)
K4(i)=hfi(xi +h, yi+K3(i))
Funktsiyaning orttirmasi yi ni quyidagi formuladan topiladi
yi=(K1(i)+2 K2(i)+2 K3(i)+ K4(i)) / 6 (7.5.2)
Bu erda h=(b-a)/n – integrallash qadami. i ni har bir qiymati uchun (7.5.1) va (7.5.2) dagi amallarni bajaramiz va noma’lum funktsiya “u” ni qiymatlarini (tenglamaning yechimini) quyidagi formuladan topamiz.
yi+1=yi+ yi , (i=0,1,2, ...n) (7.5.3)
Runge – Kutta usuli bilan differensial tenglamani yechishda jadval tuzilsa hisoblash jarayoni birmuncha osonlashadi. Jadvalni tuzish tartibi quyidagicha:
(2) va (3) ustunlarga x va u ning kerakli bo’lgan qiymatlari yoziladi.
“x” va “u” larning qiymatlarini ((2)-va (3)-ustunlardan) u’=f(x,y) tenglamani o’ng tarafiga qo’yiladi va natijalarni (4) ustunga (satrlari mos ravishda) qo’yiladi.
Topilgan f(x,y) qiymatlarini integrallash qadami “h” ga ko’paytiriladi va natijalar (5) ustunga yoziladi.
K1(0) ni 1 ga, K2(0) va K3(0) larni 2 ga, K4(0) ni 1 ga ko’paytirib ularni (6) ustunga yozamiz.
I-IV jarayonni Ki ni (i=0,1,2, ...n) har bir qiymati uchun takrorlaymiz. (6)-ustunni qiymatlarining yig’indisini hisoblab, natijani 6 ga bo’lamiz va u=(1/6) (K1(i)+2 K2(i)+2 K3(i)+ K4(i)) ni
topamiz. Va nihoyat yi+1=yi+ yi topiladi. YUqorida keltirilgan hisoblash tartibini [a,b] kesmani barcha nuqtalari uchun takrorlaymiz.
1-Jadval
|
X
|
U
|
u’=f(x,y)
|
K=hf(x,y)
|
u
|
1
|
2
|
3
|
4
|
5
|
6
|
|
x0
|
y0
|
f(x0 ,y0)
|
K1(0)
|
K1(0)
|
|
x0+h/2
|
y0+K1(0)/2
|
f(x0+h/2; y0+K1(0)/2)
|
K2(0)
|
2K2(0)
|
0
|
x0+h/2
|
y0+K2(0)/2
|
f(x0+h/2; y0+K2(0)/2)
|
K3(0)
|
2K3(0)
|
|
x0+h
|
y0+K3(0)
|
f(x0+h; y0+K3(0))
|
K4(0)
|
K4(0)
|
|
|
|
|
|
|
|
x1
|
y1=y0+ y0
|
f(x1 ,y1)
|
K1(0)
|
K1(0)
|
|
x1+h/2
|
y1+K1(1)/2
|
f(x1+h/2; y1+K1(1)/2)
|
K2(0)
|
2K2(0)
|
1
|
x1+h/2
|
y1+K2(1)/2
|
f(x1+h/2; y1+K2(1)/2)
|
K3(0)
|
2K3(0)
|
|
x1+h
|
y1+K3(1)
|
f(x1+h; y1+K3(1))
|
K4(0)
|
K4(0)
|
|
|
|
|
|
|
2
|
x2
|
y2=y1+ y1
|
|
|
|
Misol. Runge-Kutta usuli yordamida quyidagi differensial tenglamaga qo’yilgan boshlang’ich masalaning
y’= , u(1)=0 yechimi [1;1,5] kesmada h=0,1 qadam bilan topilsin.
Yechish. Yechimlar va xisobiy qiymatlar 2-jadvalda keltirilgan.
2-Jadval
i
|
xi
|
yi
|
f(xi, yi)
|
K=hf(xi, yi)
|
y1
|
0
|
1
1,05
1,05
1,1
|
0
0,05
0,057262
0,115907
|
1
1,145238
1,159071
1,310740
|
0,1
0,114524
0,115907
0,131074
|
0,1
0,229048
0,231814
0,131074
|
|
|
|
|
|
0,115323
|
1
|
1,1
1,15
1,15
1,20
|
0,115323
0,180807
0,188546
0,263114
|
1,309678
1,464447
1,477905
1,638523
|
0,130968
0,146445
0,147791
0,163852
|
0,130968
0,292889
0,295581
0,163852
|
|
|
|
|
|
0,147215
|
2
|
1,2
1,25
1,25
1,3
|
0,262538
0,344416
0,352591
0,443953
|
1,637563
1,801066
1,814146
1,983005
|
0,163756
0,180107
0,181415
0,198301
|
0,163756
0,360213
0,362829
0,198301
|
|
|
|
|
|
0,180805
|
3
|
1,3
1,35
1,35
1,4
|
0,443388
0,524495
0,551073
0,660028
|
1,982135
2,153696
2,166404
2,342897
|
0,198214
0,215370
0,216640
0,234290
|
0,198214
0,430739
0,443281
0,234290
|
|
|
|
|
|
0,216087
|
4
|
1,4
1,45
1,45
1,50
|
0,659475
0,776580
0,785532
0,912824
|
2,342107
2,521146
2,533493
2,717099
|
0,234211
0,252115
0,253349
0,271710
|
0,234211
0,504229
0,506700
0,271711
|
|
|
|
|
|
0,252808
|
5
|
1,5
|
0,912283
|
|
|
|
Dostları ilə paylaş: |