Oddiy differensial tenglamalari uchun Koshi masalasi
Birinchi tartibli oddiy differensial tenglama uchun Koshi masalasini taqribiy yechish.
Quyidagi.
y’=xy3-y
birinchi tartibli differensial tenglamaning y(0)=1 ya`ni x0=0 y0=1 boshlang’ich shartni qanoatlantiruvchi [0 , 1] oraliqda yechimini h=0.1 qadami bilan, e=0.001 aniqlikda:
1.Eyler usuli;
Yechish.
1. Berilgan differensial tenglamani Eyler usulida yyechamiz.
Buning uchun [0, 1] oraliqni
ya’ni, n=10 ta bo‘lakka ajratamiz. Bo‘linish nuqtalarini: xi=xi-1+h, i=1,2,...,10 formulaga asosan topamiz.
x1=x0+h=0+0.1=0.1, x2=x1+h=0.1+0.1=0.2……..
x3=0.3, x4=0.4, x5=0.5, x6=0.6, x7=0.7, x8=0.8, x9=0.9, x10=1.
Berilgan tenglamaning o‘ng tomonidagi
F(x;y)=xy3-y funktsiyaga asosan, Eyler qoidasi bilan quyidagi
yi+1=yi+ h f(xi;yi), i=1,2,...,10
formulaga asosan berilgan differensial tenglama yechimining qiymatlarini quyidagicha topamiz.
y1= y0+hf (x0, y0)= y0+h (x0 y03 - y0)=1+0.1*(0*13-1)=0.9
y2= y1+hf (x1, y1)= y1+h (x1 y13 – y1)=0.9+0.1*(0.1*0.93-0.9)= 0,81729
y3= y2+hf (x2, y2)= y2+h (x2 y23 – y2)= 0,81729 +0.1*(0.2*0,81729 3-0,81729)= 0,74647
…………….
y10= y9+hf (x9, y9)= y9+h (x9 y93 – y9)
yuqoridagi natijalardan quyidagi jadvalni olamiz
I
|
xi
|
yi
|
f(xi;yi)
|
hf(xi;yi)
|
0
|
0
|
1
|
-1
|
-0,1
|
1
|
0,1
|
0,9
|
-0,8271
|
-0,0827
|
2
|
0,2
|
0,8173
|
-0,7081
|
-0,0708
|
3
|
0,3
|
0,7465
|
-0,6217
|
-0,0622
|
4
|
0,4
|
0,6843
|
-0,5561
|
-0,0556
|
5
|
0,5
|
0,6287
|
-0,5044
|
-0,0504
|
6
|
0,6
|
0,5783
|
-0,4622
|
-0,0462
|
7
|
0,7
|
0,5320
|
-0,4266
|
-0,0427
|
8
|
0,8
|
0,4894
|
-0,3956
|
-0,0396
|
9
|
0,9
|
0,4498
|
-0,3679
|
-0,0368
|
10
|
1
|
0,4130
|
-0,3426
|
-0,0343
|
Jadvalga asosan quyidagi grafikni olamiz
2.Tenglama yechimini Eylerning ketma-ket yaqinlashish usulida hisoblaymiz.
Yuqoridagi (6) formulada i=0 bo‘lganda
y1(0)= y0+hf (x0, y0)= y0+ h (x0 y03 - y0)= 1+0.1*(0*13-1)=0.9
bo‘ladi. Bu Eyler usulidagi tenglama yechimining birinchi qiymati bo‘ladi.
Endi y1(0)= 0.9 dan foydalanib (7) formulaga asosan i=1 bo‘lganda
y =y0+ [f(x0,y0)+f(x1,y )]
formulani k = 1,2,3,….. lar uchun ketma-ketlarni
shartni qanoatlantirguncha hisoblaymiz.
Demak,
k=1, y =y1+ [f(x0,y0)+f(x1,y )]=1+0.05*((0*13-1)+ (0*0.93-0.9)= 0, 908645
k=2, y1(2)= 1+0.05*((0*13-1)+ (0*0,9086453-908645)= 0,908319
k=3, y1(3)= 1+0.05*((0*13-1)+ (0*0,9083193-0, 0,908319)= 0,908331
Endi xatolikni tekshiramiz.
| y1(2)- y1(3)|=| 0,908319- 0,908331|=|0,00002| < 0.001
Bundan 0.001 aniqlikdagi tenglama yechimining birinchi qiymati y1 = 0,90833≈0,9083 bo‘ladi.
Tenglama yechimi y2 qiymatini topish uchun yuqoridagi qoidani takrorlaymiz. i=1 uchun (6) formulaga asosan
Y2(0)= y1+hf (x1, y1)= y1+ h (x1 y13 – y1)= 0,9083 +0.1*(0.1*0,9083 3-0,9083)= 0,8252
k=1, y =y1+ [f(x1,y1)+f(x2,y )] = 0,9083+0.05*((0.1*0,90833-0,9083)+ (0.2* 0,82523- 0,8252)= 0,831018
k=2, y2(2)= 0,9083+0.05*((0.1*0,90833-0,9083)+ (0.2* 0,8310183- 0,831018)= 0,830850
k=3, y2(3)= 0, 9083+0.05*((0.1*0,90833-0,9083)+ (0.2* 0,8308503- 0,830850)= 0,830855
Endi xatolikni tekshiramiz.
| y2(2)- y2(3)|=| 0,830850- 0,830855|=|0,00005| < 0.001
Bundan 0.001 aniqlikdagi tenglama yechimining birinchi qiymati y2 = 0,83085≈0,8308 bo‘ladi.
Qolgan hadlarni ham shunday ketma ketlikda hisoblab topamiz va quyidagi jadvalni tuldiramiz.
Eylerning ketma-ket yaqinlashish usulida hisoblaymiz.
|
k
|
i
|
xi
|
yi+1(0)
|
yi+1(1)
|
yi+1(2)
|
yi+1(3)
|
yi
|
0
|
0
|
0
|
1
|
|
|
|
1
|
1
|
1
|
0,1
|
0,900000
|
0,908645
|
0,908319
|
0,908331
|
0,9083
|
2
|
2
|
0,2
|
0,825283
|
0,831018
|
0,830850
|
0,830855
|
0,8308
|
3
|
3
|
0,3
|
0,759395
|
0,763647
|
0,763545
|
0,763547
|
0,7635
|
4
|
4
|
0,4
|
0,700642
|
0,703894
|
0,703828
|
0,703829
|
0,7038
|
5
|
5
|
0,5
|
0,647455
|
0,650023
|
0,649976
|
0,649977
|
0,6499
|
6
|
6
|
0,6
|
0,598754
|
0,600845
|
0,600808
|
0,600809
|
0,6008
|
7
|
7
|
0,7
|
0,553775
|
0,555530
|
0,555499
|
0,555499
|
0,5554
|
8
|
8
|
0,8
|
0,511978
|
0,513493
|
0,513465
|
0,513465
|
0,5134
|
9
|
9
|
0,9
|
0,472975
|
0,474320
|
0,474293
|
0,474294
|
0,4742
|
10
|
10
|
1
|
0,436492
|
0,437714
|
0,437688
|
0,437688
|
0,4376
|
2.3.Eylerning takomillashgan usuli.
Quyidagi
y´=f (x,y)
birinchi tartibli differensial tenglamani
y(x0)=y0
boshlang’ich shartni qanoatlantiruvchi yechimni quyidagi takomillashtirish usullari bilan topamiz.
Birinchi takomillashtirish usuli.
Yuqoridagi masalani yechishda oraliq qiymatlarini aniqlaymiz:
xi+1/2=xi+h/2 , yi+1/2=yi+hf (xi,yi)/2
f i+1/2=f (x i+1/2,y i+1/2), i=0, 1, 2, …..n.
bu takomillashtirish bo‘yicha yechimning qiymatlarini quyidagicha topamiz.
y i+1=yi+hf (x i+1/2,y i+1/2), i=0, 1, 2, …..n.
Ikkinchi takomillashtirish yoki Eyler – Koshi usuli. Birinchi navbatda aniqligi yaxshi bo‘lmagan yaqinlashishni
=yi+hf (x i,y i), i=0, 1, 2, …..n.
ko‘rinishda topamiz va = ni hisoblaymiz.
Ikkinchi takomillashtirilgan yaqinlashishni quyidagicha topamiz.
y i+1=yi+ [f (x i,y i)+ ]
Eylerning birinchi va ikkinchi takomillashgan usullarida qoldiq hadnig tartibi, har qadamda O(h3) bo‘ladi. Har bir nuqtadagi xatolikni baholash takroriy hisob yordamida bo‘ladi, ya’ni hisob qadam bilan takrorlanadi va ning qiymatini aniqligi ( qadamda) quyidagicha baholanadi:
bu yerda y(x) – differensial tenglamaning aniq yechimi.
1. Birinchi takomillashtirish usuli. (9.8) va (9.9) formulalar asosida:
1) i=0, xo=0, yo=1 bo‘lganda quyidagicha hisoblaymiz:
f0=f (x0, y0)=y0-2x0/y0=1
x1/2=xo+h/2=0.1
y1/2=y0+hf (x0,y0)=1+0.1*1=1.1
f1/2=f (x 1/2,y1/2)= y 1/2- 2x1/2/y1/2=0.9182
= hf (x 1/2,y1/2)=0.2*0.9182=0.1836
bu holda birinchi yaqinlashishning birinchi qiymati:
y1=y0+ =1+0.1836=1.1836
2) i=1, x1=0.2 y1=1.183 bo‘lganda quyidagicha hisoblaymiz:
f (x 1,y1)=0.1(y1- )=0.0846
x3/2=0.3
y3/2=y1+ f (x 1,y1)=1.1836+0.0846=1.2682
f (x 3/2,y3/2)= y 3/2- 2x3/2/y3/2=0.7942
y0= h f (x 3/2,y3/2)=0.2*0.7942=0.1590
bu holda birinchi yaqinlashishning ikkinchi qiymati:
y2= y1+y1=1.1836+0.1590=1,3426
shuningdek i=2, 3, 4, 5 lar uchun ham hisoblab, natijalarni quyidagi jadvalga yozamiz.
I
|
xi
|
Yi
|
hfi/2
|
x i+1/2
|
y i+1/2
|
yi
|
0
|
0
|
1
|
0.1
|
0.1
|
1.1
|
0.1836
|
1
|
0.2
|
1.1836
|
0.0846
|
0.3
|
1.2682
|
0.1590
|
2
|
0.4
|
1.3426
|
0.0747
|
0.5
|
1.4173
|
0.1424
|
3
|
0.6
|
1.4850
|
0.0677
|
0.7
|
1.5527
|
0.1302
|
4
|
0.8
|
1.6152
|
0.0625
|
0.9
|
1.6777
|
0.1220
|
2. Ikkinchi takomillashtirish usuli.
1) i=0, xo=0, yo=1 bo‘lganda quyidagicha hisoblaymiz:
f0=f (x0, y0)=1 , =y0+hf (x0,y0)=1+0.2*1=1.2
f0=0.1 x1=0.2, =1.2
= f (x1, )=0.1(9.2- )=0.0867
y0= (f 0+ )=0.1(9+0.867)=0.1867
bu holda ikkinchi yaqinlashishning birinchi qiymati:
y1=y0+ =1*0,1867=1,1867
2) i=1, x1=0.2 y1=1.1867 bo‘lganda quyidagicha hisoblaymiz:
f1=f (x1, y1)=1.1867- =0.8497
2=1.1867+0.1619 =1.3566
f1=0.0850 x1=0.4 y2=1.3566
= f (x2, 2)=0.0767
y1= (f 1+ )=0.0850+0.0767=0.1617
bu holda ikkinchi yaqinlashishning ikkinchi qiymati:
y2=y1+y1=1.1867+0.1617=1.3484
shuningdek i=3,4,5 lar uchun xam hisoblab, natijalarni quyidagi jadvalga yozamiz.
I
|
xi
|
yi
|
hfi/2
|
X I+1
|
Y i+1
|
|
|
0
|
0
|
1
|
0.1
|
0.2
|
1.2
|
0.0867
|
0.186
|
1
|
0.2
|
1.1867
|
0.0850
|
0.4
|
1.3566
|
0.0767
|
0.1617
|
2
|
0.4
|
1.3484
|
0.0755
|
0.6
|
1.4993
|
0.0699
|
0.1415
|
3
|
0.6
|
1.4938
|
0.0699
|
0.8
|
1.6180
|
0.0651
|
0.1341
|
4
|
0.8
|
1.6272
|
0.0645
|
1.0
|
1.7569
|
0.0618
|
0.1263
|
3. Birinch tartibli differensial tenglama uchun Koshi masalasini Eyler usulida yechish algoritmi (blok sxemasi)
C++ dasturida birinchi tartibli differensial tenglama Y1=F(X,Y) uchun Koshi masalasini Eyler usulida taqribiy yechimini topish.
#include
#include
using namespace std;
int main() {
int i;
double a,b,n,u,v,x0,y0,h,x,y;
cout<<"Birinch tartibli y'=f(x,y) differensial tenglama uchun"<
cout<<"Koshi masalasini Eyler usulida sonli yechish dasturi"<
cout<<"Berilgan differensial tenlama: y'=x*pow(y,3)-y"<
cout<<"Boshlang'ich shart: y(0)="; cin>>y0;
cout<<"a= "; cin>>a;
cout<<"b= "; cin>>b;
cout<<"h= "; cin>>h;
n=(b-a)/h;
cout<<"n= "<
x0=a;
cout<<"\n";
cout<<"Natija:"<
cout<<"Xi "<<"\t\t"<<"Yi\n";
for(i=1; i<=n+1; i++)
{
x=x0+h;
y=y0+(x0*pow(y0,3)-y0)*h;
cout<
if(x<=b)
{
x0=x;
y0=y;
}
}
return 0;
}
C++ da dasturi va natijasi:
Xulosa
Ushbu kurs ishi kimyo injiniringda axborot texnologiyalar va sonli hisoblash usullarini o‘rganish hamda bu usullar asosida ba’zi masalalarni yechimini kompyuterda hisoblashning algoritmi hamda dasturlarini tuzish asosida bajariladi.
Kurs ishi ikkita bo’limdandan iborat bo‘lib, birinchi bo’limda “MathCAD” dasturi haqida ma’lumotlar keltirilgan bo’lib, unda masalalarni kompyutеrda yеchish bosqichlari, MathCAD dasturlash tili yaratilish tarixi va unda dasturlashning asosiy qismlari bayon qilinadi.
Kurs ishining ikkinchi bo’limida oddiy differensial tenglamalar uchun Koshi masalasi yechishning nazariy asoslari hamda yechimining qiymatlarini taqribiy hisoblashda Eyler usullaridan keltirilgan bo’lib, birinchi tartibli differensial tenglamalarni yechimini taqribiy hisoblash algoritmlari blok sxema ko’rinishida va C++ dasturlash tili asosida yoritib beriladi.
Kurs ishining amaliy topshiriqlari uchun variant bo’yicha blok sxema va hisoblash usullari asosida masalalarni yechimini kompyuterda hisoblashning dasturi tuziladi, hamda berilgan talablarga javob beradigan tegishli natijalar olinadi.
Xulosa qilib aytganda, kurs ishini bajarish davomida sonli hisoblash usullarini, MathCAD dasturlash tilini, xususan C++ dasturlash tilida murakkab masalalar uchun dasturlar tuziladi va muayan talablarga javob beradigan tegishli natijalar olish o‘rganiladi.
Adabiyotlar
Alex Allain. Jumping into C++. USA, 2014. p 340.
Aripov M.A., Marahimov A.R. “Informatika, Informatik texnologiyalar” Darslik, TDYUI-2004 y.
Cay Horstman. C++ dasturlash tili.
Claudio Canutо, Anita Tabacco. «Mathematical Analysis I,II» Springer-Verlag. Italia, Milan 2015, 2010.
G’ulomov S.S., Begaliyev B.A. “Informatika va axborot texnologiyalari” Toshkent, FAN, 2010 yil
Gerd Baumann. «Mathematics for Engineers I,II» Basic calculus, Calculus and Linear Algebra. Munchen, 2010.
Ishmamatov M.R., Tursinboyeva Z.U., Xalilov A.J. «Kimyo injinering uchun axborot texnologiyalar» fanidan kurs ishlarini bajarish uchun uslubiy qo’llanma. Navoiy, 2019 y. 41 b.
Isroilov M.I. Hisoblash usullari. Toshkent. Ukituvchi. 2008y.
John Bird «Higher Engineering Mathematics» Great Britain, Elsevier Ltd. 9th edition, 2006.
Kadirov M.M. «Axborot texnologiyalari» oʻquv qoʻllanma 1-qism, «Fan va texnologiya», Toshkent 2018, 316 b.
Kadirov M.M. «Texnik tizimlarda axborot texnologiyalari» darslik 2-qism, «Fan va texnologiya», Toshkent 2018, 306 b.
Kjell Backman "Structured Programming with С++". 2012.
Mariano Martin Martin. Introduction to Software for Chemical engineers. CRC Press is an imprint of the Taylor & Francis Group, an information business. London, New York, 2010
Mirzakarimov E.M. Oddiy differensial tenglamalarni EHM yordamida yechish uchun metodik kursatmalar. FerPI 2002.
Mirzakarimov E.M. Sonli hisoblash usullari va dasturlash (o‘quv qo‘llanma), 2009y, 382 bet
Nazirov Sh.A., Qobulov R.V., Bobojonov M.R., Raxmanov Q.S. C va C++ tili. Voris-nashriyot. Toshkent 2013. 488 b.
Зыков Е.Ю., Колчев А.А., Хуторова О.Г., Шерстюков О.Н. Численные методы на языке Си /. – Казань: Казан. ун-т, 2019. – 71 с.
Крайнов А.Ю., Моисеева К.М. Численные методы решения краевых задач для обыкновенных дифференциальных уравнений : учеб. пособие. – Томск : STT, 2016. – 44 с.
Пискунов Н.С. «Дифференциальное и интегральное исчисление» для ВТУЗов. 1,2 частях-М.: Наука, 2001.
Расулов Н.Р., Сафаров Р.Т., Мухиддинов «Олий математика» дарслик. Тошкент, 2012.
Internet resurslar:
https://ru.wikipedia.org/wiki/Метод_Эйлера
espressocode.top›euler-method-solving…equation/
ftf.tsu.ru›wp…A…metody-resheniya…differensialnyh…
mathprofi.ru›metody_eilera_i_runge_kutty.html
slemeshevsky.github.io›num-mmf/ode/html/._ode-…
https://studassistent.ru/c/reshenie-differencialnyh-uravneniy-1-poryadka-metodom-eylera-c-si
https://ftf.tsu.ru/wp-content/uploads/Chislennye-metody-resheniya-kraevyh-zadach-dlya-obyknovennyh-differensialnyh-uravnenij.pdf
Do'stlaringiz bilan baham: |