2-misol. Quyidada keltirilgan Koshi masalasini takomillashtirilgan Eyler usuli bilan yechish.
Yechish. Koshi masalasi
y' - 2y + x2 = 1, x [0;1], y(0) = 1.
Faraz qilaylik, n = 10 , h = (1 - 0)/10 = 0,1. Boshlangʻich nuqta x0 = 0, y0 = 1.
Dastlabki nuqtani hisoblash.
y y h f(x
h ; y h f(x ; y )) 1 0,1 f(0 0,1; 1 0,1 f(0; 1))
1 0,1 f(0,05;1 0,05 (1 2 1 - 02 )) 1 0,1 f(0,05;1,15)
1 0,1 (1 2 1,15 0,05 2 )
x1 x0 h 0,1
1,32975
Keyingi 2, 3, ... ,10 nuqtalar uchun hisoblashlar xiddi shunday.
misol. Yuqoridagi 2-misolda keltirilgan Koshi masalasini 4-tartibli Runge-Kutta usuli bilan yechish.
Yechish. Koshi masalasi
y' - 2 y + x2 = 1, x [0;1], y(0) = 1.
Faraz qilaylik, n = 10 , h = (1 - 0)/10 = 0,1. Boshlangʻich nuqta x0 = 0, y0 = 1.
Dastlab C0, C1, C2, C3larning qiymatlarini hisoblab olamiz:
C 0 f(x 0 ; y 0 ) f(0;
1) 1 2 1 02 3
C 1 f(x 0
2 0
h K0 ) f(0,05;1,15) 1 2 1,15 0,052 3,2975 2
C 2 f(x 0
y h K1 ) f(0,05;1,164875) 1 2 1,164875 0,05 2 3,32725
0 2
0 2
C 3 f(x 0 h;
y h K ) f(0,1; 1,332725) 1 2 1,332725 0,12 3,65545
12-rasm. ODTni 1-tartibli Eyler usuli bilan yechish algoritmi.
Dastlabki nuqtani hisoblash:
y 1 y 0
2 C 1
2 C2
C3 )
1 0,1 (3 2 3,2975
6
2 3,32725 3,65545) 1,3317491667
Keyingi 2, 3, ... ,10 nuqtalar uchun hisoblashlar xiddi shunday.
с1 =f(x+h/2,y+h/2c0 ) y=y+c1 h x=x+h
3
Chiqish
Chiqariladigan ma'lumotlar: x – tugunning koordinatasi; y – funksiyaning shu tugundagi qiymati
13-rasm. Takomillashtirilgan Eyler usulining algoritmi.
14-rasm.4-tartibli Runge-Kutta usulining algoritmi.
misol.Ushbu у
у 2х oddiy differensial tenglamaning [0,1]
у
yechimining taqribiy qiymatlarini Eyler usuli yordamida h=0,2 qadam bi- lan toping.
Yechish:
f (x, y) y 2x ; a 0,b 1, x 0, y
1, h 0,2
y 0 0
quyidagi hisoblash jadvalini tuzamiz.
qator . i=x0,
0 y0,
0 1,0000
f ( x , y ) y 2x 1 2 * 0 1,000
y
1
0 0 0
0
qator.
y0 hf ( x0 , y0 ) 0,2 *1 0,2000
yi1 yi yi , i 0; y1 y0 y0 1 0,2 1,2000
x i=1 ,
1 y0 0,2 0,2;
1 1,2000;
f ( x , y ) y
1,2 2 * 0,2 0,8667
y hf ( x , y ) 0,2 * 0,8667 0,1733
1 1 1
1
y2 y1 y 1,2 0,1733 1,3733
i=2,3,4,5 lar uchun hisoblanadi.
i
|
xi
|
yi
|
f(xi ,yi)
|
yi
|
1
|
0,1
|
1,0000
|
1,0000
|
0,200
|
2
|
0,2
|
1,2000
|
0,8667
|
0,1733
|
3
|
0,4
|
1,3733
|
0,7805
|
0,1561
|
4
|
0,6
|
1,5294
|
0,7458
|
0,1492
|
5
|
0,8
|
1,6786
|
0,7254
|
0,1451
|
6
|
1,0
|
1,8237
|
|
|
Koshi masalasi va chegaraviy masalani bir qadamli sonli usullar bilan Maple dasturi yordamida yechish
Oddiy differensial tenglamani Maple dasturida dsolve komandasi yordamida sonli yechish va uning yechimi grafigini odeplot komandasi yordamida qurish.
Differensial tenglama (Koshi masalasi yoki chegaraviy masala)ning sonli yechimini topish uchun dsolve komandasida type=numeric (yoki sodda qilib numeric) parametrni koʻrsatish kifoya. Bunday holda differensial tenglamani yechish komandasi quyidagicha boʻladi:
dsolve(eq, vars, type=numeric, options),
bu yerda eq – tenglama; vars – nomaʼlum funksiyalar roʻyxati; options –
Differensial tenglamani sonli yechishni koʻrsatuvchi parametrlar.
Maple da quyidagi usullar ishlab chiqilgan:
method=rk2 –Runge-Kuttaning 2-tartibli usuli;
method=rk3 –Runge-Kuttaning 3-tartibli usuli;
method=rk4 –Runge-Kuttaning 4-tartibli klassik usuli;
method=rkf45 jimlik qoidasi bilan oʻrnatilgan Runge-Kutta- Felbergning 4-5-tartibli usuli;
method=dverk78 –Runge-Kuttaning 7-8-tartibli usuli;
method=classical – Runge-Kuttaning 3-tartibli klassik usuli;
method=gear – Girning bir qadamli usuli;
method=mgear – Girning koʻp qadamli usuli.
Differensial tenglama sonli yechimining grafigini qurish uchun ushbu odeplot(dd, [x,y(x)], x=x1..x2)
komandadan foydalanish mumkin, bu yerda funksiya sifatida dd:=dsolve({eq,cond}, y(x), numeric) – sonli yechish komandasidan foy- dalanil-gan, bundan keyin esa kvadrat qavsda oʻzgaruvchi va nomaʼlum funksiya [x,y(x)] hamda grafik qurishning intervali x=x1..x2 kabi koʻrsatilgan.
Muammoni oydinlashtirishni mashqlarda bajarib koʻraylik va quyidagi tadbiqlarni bajaraylik:
1-misol. Quyidagi Koshi masalasining sonli va taqribiy yechimini 6- tartibli darajali qator koʻrinishida toping:
'
sin( )
0,1 ysin x y
x , ( y0) 1 .
Yechish: Avvalo Koshi masalasining sonli yechimini topamiz, keyin esa topilgan yechimning grafigini quramiz:
> eq:=diff(y(x),x)+x*sin(y(x))= -0.1sin(x):
> cond:=y(0)=-1:
de:=dsolve({eq,cond},y(x),numeric);
de:=proc( rkf45_x)...end proc
Eslatma: Natijani chiqarish qatorida rkf45 usuldan foydalanilganlik haqida maʼlumot chiqadi. Agar satr kerakli maʼlumot bermasa, bu oraliq komandani ikki nuqta qoʻyish bilan ajratib qoʻyish lozim. Agar x ning biror fiksirlangan qiymati uchun natija olish (masalan, yechimning shu
nuqtadagi hosilasi qiymatini chiqarish) zarur boʻlsa, masalan, х=0.5 nuqtada, u holda quyidagilar teriladi (15-rasm):
de(0.5);
with(plots):
odeplot(de,[x,y(x)],-10..10,thickness=2);
Endi Koshi masalasining yechimini darajali qator koʻrinishida to- pamiz hamda sonli yechim va olingan darajali qatorning grafigini ular mosroq tushishi mumkin boʻlgan interval uchun yasaymiz (16-rasm).
dsolve({eq, cond}, y(x), series);
convert(%, polynom):p:=rhs(%):
p1:=odeplot(de,[x,y(x)],-2..2, thickness=2, color=black):
p2:=plot(p,x=-2..2,thickness=2,linestyle=3, color=blue):
display(p1,p2);
15-rasm. Koshi masalasi sonli yechimining grafigi.
rasm. Koshi masalasining aniq va darajali qator bilan taqribiy yechimlarining grafigi.
Yechimning darajali qator bilan juda yaqin qiymatlari 2 < x < 2 oraliqda ekanligi grafikdan koʻrinib turibdi (14-rasm).
Differensial tenglama sonli yechimini grafik koʻrinishda ifodalashning Maple dasturidagi Detools paketi.
Koshi masalasini sonli yechish, yechimning grafigini qurish va fazoviy portretini chizish uchun Maplda maxsus paket Detools mavjud.
Detools paketningDeplot komandasi sonli usullar yordamida yechimning grafigini yoki fazoviy portretlarini chizadi. Bu komanda odeplot dan farqli rafishda, uning oʻzi differensial tenglamani sonli yechadi.
Deplot ning asosiy parametrlari xuddi odeplot niki kabi: DEplot(de, vars, range, x=х1..х2, y=у1..у2, cond, ptions),
bu yerda
de differensial tenglama yoki differensial tenglamalar sistemasi;
vars – nomaʼlum funksiyalar roʻyxati;
range – erkli oʻzgaruvchilarning oʻzgarish intervali;
cond – boshlangʻich shartlar;
x=х1..х2 va y=у1..у2 – funksiyalarning oʻzgarish diapazoni;
options – qoʻshimcha parametrlar.
Eng koʻp qoʻllaniladigan parametrlar:
linecolor = chiziq rangi;
scene=[x,y] grafikda qanday bogʻlanishlarni chiqarish kerakligini koʻrsatuvchi parametr;
iterations = hisoblashlar aniqligini oshirish uchun zarur boʻlgan it- eratsiyalar soni (jimlik qoidasiga koʻra u 1 ga teng);
stepsize = grafikdagi nuqtalar orasidagi masofani koʻrsatuvchi son (jimlik qoidasiga koʻra u (x2x1)/20 ga teng), bu parametr yechimning grafigini yetarlicha silliq chiqarish uchun zarur;
obsrange=true/false agar yechimning grafigi koʻrsatilgan inter- valdan tashqarida boʻlsa, yechimni toʻxtatish yoki hisoblashlar yoʻqligini koʻrsatish.
n-tartibli differensial tenglama uchun boshlangʻich shartlarni juda qulay shaklda berish mumkin:
Do'stlaringiz bilan baham: |