Y'=(2y-x)/y y(1)=2 [1;2]


Download 151.98 Kb.
Sana21.11.2023
Hajmi151.98 Kb.
#1791971
Bog'liq
Shuhrat Hamroyev 2


  1. y'=(2y-x)/y y(1)=2 [1;2]

Eyler usulining formulasi quyidagicha ko'rinadi:


y_(n+1) = y_n + h * f(x_n, y_n)


Bu yerda:


- y_(n+1) - Ya’ni birinchi tartibdagi y qiymati
- y_n - n-chorak y qiymati
- h - o'ng tarafdagi o'lchov (bu h = 0.1 mavjud masalada)
- f(x_n, y_n) - funksiya y'ning qiymatini ta'riflaydi

Koshi masalasining o'zi quyidagicha:


y' = (2y - x) / y


Biz h = 0.1 o'lchovini foydalanishimiz kerak. Quyidagi tartibda natijalarni topish mumkin:


1. Birinchi qadam: Ikkilamchi tartibdagi y qiymatini topamiz (x = 1, y = 2).


2. Keyingi qadamlar uchun, formulani foydalanishimiz kerak:


y_(n+1) = y_n + 0.1 * [(2 * y_n - x_n) / y_n]


Biz bu formulani bir necha marta takrorlaymiz, y_ni yangilashni davom ettiramiz:


x_1 = 1, y_1 = 2


x_2 = 1 + 0.1 = 1.1
y_2 = y_1 + 0.1 * [(2 * y_1 - x_1) / y_1]
x_3 = 1.1 + 0.1 = 1.2
y_3 = y_2 + 0.1 * [(2 * y_2 - x_2) / y_2]

Bu tartibda, biz h = 0.1 o'lchov bilan y(x) ni hisoblaymiz. Berilgan oraliq [1, 2] bo'lib, natijalar bo'yicha ko'rish mumkin.


Runge-Kutta usuli, birinchi tartibdagi obyektlar uchun differentsial tenglamalar yechishda ko'p ishlatiladigan sonli integralni hisoblash usuli. Masalaning yechilish uchun 1-bosqich Runge-Kutta usulini (ya'ni boshlang'ich qiymatlar uchun) quyidagi formulalar bilan yechish mumkin:

1. k1 = h * f(x_n, y_n)


2. x_(n+1) = x_n + h
3. y_(n+1) = y_n + k1

Bu yerda:


- k1 - qadamning birinchi qismini hisoblab chiqamiz
- h - o'ng tarafdagi o'lchov (bu h = 0.1 mavjud masalada)
- x_n - n-chorak x qiymati
- y_n - n-chorak y qiymati
- f(x_n, y_n) - funksiya y'ning qiymatini ta'riflaydi

Koshi masalasining o'zi quyidagicha:


y' = (2y - x) / y


Boshlang'ich shart y(1) = 2 berilgan. Biz bu usulni foydalanib yechamiz.


1. Birinchi qadam: Ikkilamchi tartibdagi y qiymatini topamiz (x = 1, y = 2).


2. Keyingi qadamlar uchun formulani foydalanishimiz kerak:


- k1 = 0.1 * [(2 * y_n - x_n) / y_n]


- x_(n+1) = x_n + 0.1
- y_(n+1) = y_n + k1

Yuqoridagi formulalarni bir necha marta takrorlash orqali, y(x) ni hisoblaymiz. Berilgan oraliq [1, 2] bo'lib, natijalar bo'yicha ko'rish mumkin.


Koshi masalasini yechish uchun taqribiy yechimini topish dasturini tuzish uchun, yangi taqribiy yechimlar bilan bir necha qadamda Koshi masalasini echishimiz kerak. Yuqorida berilgan birinchi tartibli differentsial tenglama quyidagicha:

y'(x) = (2y - x) / y


Boshlang'ich qiymat y(1) = 2 berilgan.


Koshi masalasini taqribiy yechimini topish uchun har bir qadamda yangi y qiymatini topamiz. Dasturning birinchi qadamida, biz boshlang'ich qiymatimizni qo'yamiz:


x0 = 1
y0 = 2


keyin, quyidagi oddiy kuzatuvlar orqali yangi y qiymatini topamiz:


x1 = x0 + h


y1 = y0 + h * y'(x0)

Biz h = 0.1 qo'ysak:


x1 = 1 + 0.1 = 1.1


y1 = 2 + 0.1 * ((2 * 2 - 1.1) / 2) = 2.05

Keyin yana boshqaruvda:


x2 = x1 + h = 1.1 + 0.1 = 1.2


y2 = y1 + 0.1 * ((2 * 2.05 - 1.2) / 2.05) ≈ 2.091

Bu jarayonni davom ettirib, biz istalgan x qiymati uchun y qiymatini topamiz. Qo'shimcha qadamlar uchun dastur davom ettirilishi mumkin.


Dastur misoli Python tilida quyidagicha ko'rinadi:


```python


def koshi_masalasi(x0, y0, h, x_end):
x = x0
y = y0
while x < x_end:
y_prime = (2 * y - x) / y
y = y + h * y_prime
x = x + h
return x, y

x0 = 1
y0 = 2


h = 0.1
x_end = 2

x_end, y_end = koshi_masalasi(x0, y0, h, x_end)


print(f"x = {x_end}, y = {y_end}")
```

Bu dastur Koshi masalasining taqribiy yechimini topadi va natijani chiqaradi.





Download 151.98 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling