Nazorat uchun savollar
Математик моделлаштиришнинг мақсади қандай бажарилади?
Моделга кирувчи ва чиқувчи параметрларни ўрнатиш?
Модель параметрларининг функционал боглиқлигини ифодаланг?
Тизимни ташкил этувчилар модели нима?
Қайси турдаги графлардан фойдаланилади?
Моделлаштиришни компьютерда амалга оширинг?.
Laboratoriya ishi №5
Mavzu: Нимтизимларни ташкил этиш
Ishning maqsadi: Нимтизимларни ташкил этишни ўрганиш. Математик модел ҳар хил воситалар ёрдамида берилиши мумкин. дифференциал ва интеграл тенгламалар тузишдан ва ечиладиган масалаларни ўрганиш унинг математик моделини тузишдан бошлаб компьютерда дастурларини ёзишгача бўлган босқичларни bajarishni o’rganish. Talabalarda нимтизимли ташкил этиш bo’yicha ko’nikma hosil qilish. Berilgan topshiriqni qo‘yilgan ish reja asosida bajarishni o’rgatish.
Topshiriqning berilishi:
1. Ечиладиган масалаларни ўрганиш унинг математик моделини тузишдан бошланг.
2. Сонли ечимлар қидириладиган оралиқни келтириг.
3. yi+1 = yi + Δyi итерацион формуладан фойдаланиш усулларини келтиринг.
4. K1(i) , K2(i) , K3(i), K4(i) коэффициентларни ҳисобланг.
Назарий қисм
Берилган биринчи тартибли оддий дифференциал тенглама y’=f(x,y) учун, аргументининг [0;1] оралигида h0.1 қадам билан Коши масаласини тақрибий ечимини топинг. Алгоритмини тузинг ва дастурлаш тилида дастур кодини тузиб натижа олинг. Рунге-Кутта усули билан ҳисоблаш алгоритми. Биринчи тартибли оддий дифференциал тенгламанинг сонли ечимларини Рунге-Кутта усули билан ҳисоблаш учун қуйидаги алгоритмдан фойдаланамиз:
1.Сонли ечимлар қидириладиган оралиқни тенг бўлакларга бўлиш учун бўлинишлар сони n ни киритамиз хамда а ва b чегара нуқталаридан фойдаланиб бўлиниш нуқталари орасидаги қадамни ҳисоблаймиз h = ( b - a) / n ва xi (i = 0,1,2,…, n) бўлиниш нуқталарини ҳосил қиламиз.
2.yi+1 = yi + Δyi итерацион формуладан фойдаланиш учун хi ўзгарувчига биринчи қиймат сифатида чап чегаравий нуқта a нинг қийматини берамиз, yi га эса номаълум функциянинг бошланғич қиймати у0 ни берамиз.
3.xi ва yi қийматлари учун учун K1(i) , K2(i) , K3(i), K4(i) коэффициентларни ҳисоблаймиз ва Δyi = (1/6)∙( K1(i) + 2 K2(i) + 2 K3(i) + K4(i) ) ни ҳосил қиламиз.
4.yi+1 = yi + Δyi (i=0,1,2,…, n) итерацион формуладан номаълум функцияни кейинги бўлиниш нуқтасидаги қийматини ҳисоблаймиз. Сўнгра yi = yi+1 алмаштиришни бажариб кейинги бўлиниш нуқтаси хi га ўтамиз ва ўнг чегаравий нуқта b га етмагунча 3-босқичга қайтамиз.
5.хi қабул қиладиган қиймати ўнг чегаравий нуқта b га етиб келганда сўнги маротаба yi+1 = yi + Δyi формуладан фойдаланиб номаълум функциянинг охирги нуқтадаги қийматини ҳисоблаймиз.
Ҳисоблаш учун дастур коди:
program Progutta; Uses crt;
label 1;
var a,b,h,x,y0,y,y1,k1,k2,k3,k4,k:real; n:integer;
function F(x,y : real) : real ;
begin
F:=x-y // тенгламани ўнг томонини киритинг
end ;
begin clrscr;
writeln('оралиқни чап чегараси - а ва ўнг чегараси- b ни киритинг');
read(a,b);
writeln (' номаълум функциянинг бош қиймати – у0 ни киритинг');
readln ( y0 );
writeln ('бўлинишлар сони - n ни киритинг');
read( n ); h:= (b-a)/n;
x:=a; y:=y0;
1:k1:=h*F(x,y);
k2:=h*F(x+h/2,y+k1/2);
k3:=h*F(x+h/2,y+k2/2);
k4:=h*F(x+h,y+k3);
k:=(1/6)*(k1+2*k2+2*k3+k4);
y1:=y+k;
writeln('x=',x, 'Y=', y1);
if x < b then
begin
x:=x+h; y:=y1; goto 1
end;
end.
Алгоритмнинг блок-схемаси қуйидаги кўринишда:
Do'stlaringiz bilan baham: |