Muammoni shakllantirish Nazariy qism



Download 281,08 Kb.
bet4/5
Sana26.06.2022
Hajmi281,08 Kb.
#705863
1   2   3   4   5
Bog'liq
gaus 4

Fayl unit2.pas modulidir _


birlik 2;
interfeys
const maxr = 20;

arys turi = realning [1..maxr] massivi;


ary2s = realning [1..maxr, 1..maxr] massivi;

gauss1 protsedurasi (a: ary2s; y: arys; var koef: arys; ncol: integer; var xatosi: mantiqiy);


gaussj protsedurasi (var b: ary2s; y: arys; var koef: arys; ncol: integer; var xatosi: mantiqiy);
amalga oshirish

{Chiziqli tenglamalar tizimini yechishning Gauss usuli}


{**************************************************** **** *********}
gauss1 protsedurasi (a: ary2s; y: arys; var koef: arys; ncol: integer; var xatosi: mantiqiy);
var b: ary2s;
w:arys;
i,j,i1,k,l,n:integer;
ushlab, yig‘indi, t, ab, katta: haqiqiy;
boshlash
xato:=false;
n:=ncol;
i:=1 uchun n qilish
boshlash
j:=1 uchun n qilish
b[i,j]:=a[i,j];
w[i]:=y[i]
oxiri;
i uchun:=1 dan n-1 gacha
boshlash
katta:=abs(b[i,i]);
l:=i;
i1:=i+1;
j:=i1 uchun n qilish
boshlash
ab:=abs(b[j,i]);
agar ab>katta bo'lsa
boshlash
katta:=ab;
l:=j
oxiri
oxiri;

agar big=0,0 bo'lsa, xato:= rost


boshqa
boshlash
agar l<>i bo'lsa
boshlash
j:=1 uchun n qilish
boshlash
ushlab turing:=b[l,j];
b[l,j]:=b[i,j];
b[i,j]:=ushlab turing
oxiri;
ushlab turing:=w[l];
w[l]:=w[i];
w[i]:=ushlab turing
oxiri;
j:=i1 uchun n qilish
boshlash
t:=b[j,i]/b[i,i];
uchun k:=i1 to n do
b[j,k]:=b[j,k]-t*b[i,k];
w[j]:=w[j]-t*w[i]
oxiri
oxiri
oxiri;
agar b[n,n]=0.0 bo'lsa, xato:=to'g'ri
boshqa
boshlash
koef[n]:=w[n]/b[n,n];
i:=n-1;
takrorlang
yig'indisi:=0,0;
j:=i+1 uchun n qilish
summa:=sum+b[i,j]*koef[j];
koef[i]:=(w[i]-sum)/b[i,i];
i:=i-1
i=0 ga qadar
oxiri
oxiri;
{**************************************************** ******** *********}
{Chiziqli tenglamalar tizimini Jordan-Gauss usulida yechish}
{**************************************************** ******** *********}
procedure gaussj(var b:ary2s; y: arys; var coef:arys; ncol:integer; var error: boolean);
var w:array[1..maxr,1..maxr] of real;
indeks:massiv [1..maxr,1..3] butun son;
i,j,k,l,nv,irow,icol,n,l1:butun son;
aniqlash, aylanma, ushlab turish, yig‘indi, t, ab, katta: real;

{+++++++++++++++++++++++++++++++++++++++++++}


protsedurani almashtirish(var a,b: real);
var hold:real;
boshlash
ushlab turing:=a;
a:=b;
b:=ushlab turing
oxiri;
{+++++++++++++++++++++++++++++++++++++++++++}
{@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}
gausj2 protsedurasi;
var i,j,k,l,l1:integer;
{=================================================}
gausj3 protsedurasi;
var l:integer;
boshlash
agar irow<>icol keyin
boshlash
aniqlash:=-aniqlash;
uchun l:=1 to n do
almashtirish(b[irow,l],b[icol,l]);
agar nv>0 bo'lsa
l:=1 uchun nv qilish
almashtirish(w[irow,l],w[icol,l])
oxiri
oxiri;
{=================================================}
boshlash
xato:=false;
nv:=1;
n:=ncol;
i:=1 uchun n qilish
boshlash
w[i,1]:=y[i];
indeks[i,3]:=0
oxiri;
aniqlash:=1,0;
i:=1 uchun n qilish
boshlash
katta:=0,0;
j:=1 uchun n qilish
boshlash
agar indeks[j,3]<>1 bo'lsa
boshlash
uchun k:=1 dan n gacha
boshlash
agar indeks[k,3]>1 bo'lsa
boshlash
xato:=true;
Chiqish;
oxiri;
agar indeks[k,3]<1 bo'lsa
agar abs(b[j,k])>katta bo'lsa
boshlash
irow:=j;
icol:=k;
katta:=abs(b[j,k])
oxiri
oxiri
oxiri
oxiri;

indeks[icol,3]:=index[icol,3]+1;


indeks[i,1]:=irow;
indeks[i,2]:=icol;
gausj3;
pivot:=b[icol,icol];
determ:=determ*pivot;
b[icol,icol]:=1,0;
uchun l:=1 to n do
b[icol,l]:=b[icol,l]/pivot;
agar nv>0 bo'lsa
l:=1 uchun nv qilish
w[icol,l]:=w[icol,l]/pivot;
l1:=1 uchun n qilish
boshlash
agar l1<>icol bo'lsa
boshlash
t:=b[l1,icol];
b[l1,icol]:=0,0;
uchun l:=1 to n do
b[l1,l]:=b[l1,l]-b[icol,l]*t;
agar nv>0 bo'lsa
l:=1 uchun nv qilish
w[l1,l]:=w[l1,l]-w[icol,l]*t;
oxiri
oxiri
oxiri;
oxiri;
{@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}
boshlash
gausj2;
xato bo'lsa, chiqing;
i:=1 uchun n qilish
boshlash
l:=n-i+1;
agar indeks[l,1]<>indeks[l,2] bo'lsa
boshlash
irow:=indeks[l,1];
icol:=indeks[l,2];
uchun k:=1 dan n gacha
almashtirish(b[k,irow],b[k,icol])
oxiri
oxiri;
uchun k:=1 dan n gacha
agar indeks[k,3]<>1 bo'lsa
boshlash
xato:=true;
Chiqish;
oxiri;
i:=1 uchun n qilish
koef[i]:=w[i,1];
oxiri;
{**************************************************** ******** *********}
oxiri.



Download 281,08 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish