Амалий иши №4


Алгоритмнинг дастур матни


Download 218.49 Kb.
bet2/2
Sana20.12.2022
Hajmi218.49 Kb.
#1039412
1   2
Bog'liq
AMALIY ISHI № 4

Алгоритмнинг дастур матни:



# Koshi msalasini Eyler usuli yordamida yechish
import math
a=b=x0=y0=h=x=y=k0=k1=k2=k3=0.0
def f(x,y):
r = 2*x+x*y+5*y # Berilgan funksiyani kiritamiz
return r
a, b = map(float, input("a, b= ").split())
y0 = float(input("y0= "))
x0 = a
h = float(input("h= "))
print('x=',x,' y=',y)
while x
y = y+h*f(x, y)
print("x={:.1f} , y={:.4f}".format(x,y))
x = x+h
r = input()
3.Рунге-Кутта усулининг ишчи алгоритми ва дастур таъминоти.


Бир қадамли ошкор усулларнинг бошқа бир неча хиллари ҳам мажуд бўлиб, уларнинг ичида амалда энг кўп ишлатиладигани Рунге-Кутта усули ҳисобланади. Усул шартига кўра ҳар бир янги xi1 тугун нуқтадаги yi1 ечимни топиш учун f(x,y) функцияни 4 марта ҳар хил аргументлар учун ҳисоблаш керак. Бу жиҳатдан Рунге-Кутта усули ҳисоблаш учун нисбатан кўп вақт талаб қилади. Лекин Эйлер усулидан кўра аниқлиги юқори бўлганлиги учун, ундан амалда кенг фойдаланилади.
Усулнинг ишчи формуласи қуйидагича ёзилади:

бу ерда ;


Демак, формулалардан кўриниб турибдики, Эйлер усули биринчи тартибли Рунге-Кутта усулига мос келади.






Рунге-Кутта усулига мос блок-схема.







Алгоритмнинг дастур матни:




# RUNGE_KUTTA USULI
import math


a=b=x0=y0=h=x=y=k0=k1=k2=k3=0.0


def f(x,y):
r = 2.7*x*x*y+3.8*x+y
return r


a, b = map(float, input("a, b= ").split())
y0, h = map(float, input("y0, h= ").split())
x = a; y = y0;
while x
k0 = f(x, y)
k1 = f(x+h/2,y+h*k0/2)
k2 = f(x+h/2,y+h*k1/2)
k3 = f(x+h/2,y+h*k2)


y = y+(k0+2*k1+2*k2+k3)*(h/2)
x = x+h
print("x={:.1f} , y={:.4f}".format(x,y))
r = input()
4.Тажриба ишидан олинган натижалар ва уларнинг таҳлили.
Юқорида кўриб чиқилган дастурларнинг тўғрилигини ва усулларнинг аниқлик даражасини текшириш учун битта ихтиёрий тенглама оламиз. Аниқ ечимни аналитик усулда ҳисоблаш қулай бўлиши учун қуйидаги тенгламани кўриб чиқамиз.
y’=cosx тенгламани [0,1] оралиқда h0.1 қадам билан y(0)1 бошланғич шартни қаноатлантирувчи ечимни топиш керак.
Юқоридаги дастурларга керакли қийматларни киритамиз. ; ; ; ; ;
ycosx учун аниқ ечим сифатида ни оламиз. Бошланғич шартларни қўйсак, 1 sin0c 1 Демак, ysinx1.
Олинган натижаларга мос қийматлардан иборат жадвал тузамиз.


xi

Эйлер усули учун

Рунге-Кутта усули учун

Аниқ ечим

0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1

1,1000
1,1995
1,2975
1,3930
1,4851
1,5729
1,6554
1,7319
1,8015
1,8637

1,0998
1,1986
1,2955
1,3894
1,4794
1,5646
1,6442
1,7173
1,7833
1,8414

1,0998
1,1986
1,2955
1,3894
1,4794
1,5466
1,6442
1,7173
1,7833
1,8414

Натижалардан кўриниб турибдики, Рунге- Кутта усулидан олинган натижалар Эйлер усулидан олинган натижаларга кўра аниқ ечимга анча яқиндир.


5.Тажриба ишига доир топшириқ вариантлари:


Эйлер ва Рунге-Кутта усуллари ёрдамида берилган дифференциал тенглама учун Коши масаласини h0.1 қадам билан [0;1] оралиқда ечимини топиш алгоритми ва дастурини тузинг.



Тенглама

Бошланғич шарт

1





2





3





4





5





6





7





8





9





10





11





12





13





14





15





16





17





18





19





20





21





22





23





24





25





26





27





28





29





30





Runge_Kutta usuli


























Eyler usuli































Download 218.49 Kb.

Do'stlaringiz bilan baham:
1   2




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