Dastur natijasi
Topshiriq
1-masala. Berilgan chiziqli algebraik tenglamalar sistemalarini Gauss usuli yordamida yeching.
1. 2.
3. 4.
5. 6.
7. 8.
9. 10.
11. 12.
13. 14.
15. 16.
Noma’lumlar soni ko’p bo’lganda chiziqli tenglamalar sistemasini yechishning Kramer, Gauss, teskari matrisa usullari bilan olinishi ancha murakkab bo’lib qoladi. Bunday hollarda taqribiy sonli usullardan foydalanish ancha samarali hisoblanadi. Shunday usullardan biri oddiy iterasiya usulidir.
Quyidagi tenglamalar sistemasi berilgan bo’lsin.
, i =1,2,...,n (6.1)
Bu sistema matrisa ko’rinishida quyidagicha yoziladi:
,
Bu yerda
.
(6.1) da (i=1,n) deb faraz qilamiz.
Tenglamalar sistemasida 1-tenglamani х1 ga nisbatan, 2- tenglamani х2 ga nisbatan, va ohirgisini хn ga nisbatan yechamiz:
(6.2)
Ushbu
va
Matrisalar yordamida (6.2) ni quyidagicha yozish mumkin: (6.3) (6.3) sistemani ketma-ket yaqinlashish usuli bilan yechamiz.
х(0)=, , ,....
Bu jarayonni quyidagicha ifodalaymiz:
, х(0)= (6.4)
Bu ketma-ketlikning limiti, agar u mavjud bo’lsa (6.1) sistemaning yechimi bo’ladi.
Biz
belgilashni kiritamiz. Agar ihtiyoriy >0 uchun tengsizlik barcha i =1,2,...n uchun bajarilsa мулещк (6,1) sistemaning aniqlikdagi yechimi deb yuritiladi.
Teorema. Agar keltirilgan (6.2) system uchun yoki shartlardan birortasi bajarilsa, uholda (6.4) iterasiyon jarayon boshlang’ich yaqinlashishni tanlashga bog’liq bo’lmagan holda yagona yechimga yaqinlashadi.
Natija (6.4) tenglamalar sistemasi uchun
, , ...,
tengsizliklar bajarilsa (6.4) iterasiya yaqinlashuvchi bo’ladi.
Misol. Tenglamalar sistemasini =0,001 aniqlikda oddiy iterasiya usuli bilan yeching:
Yechish:
Demak, iterasiya yaqinlashuvchi.
.
Nolinchi yaqinlashish: , .
(6.4) formula yordamida hisoblashlarni bajaramiz.
Ushbu jadval hosil bo’ladi.
Yaqinlashishlar (k)
|
x1
|
x2
|
x3
|
|
|
|
0
|
2
|
3
|
5
|
-
|
-
|
-
|
1
|
1,92
|
3,19
|
5,04
|
0,08
|
0,19
|
0,04
|
2
|
1,9094
|
3,1944
|
5,0446
|
0,0106
|
0,0044
|
0,0046
|
3
|
1,90923
|
3,19495
|
5,04485
|
0,00017
|
0,00055
|
0,00025
|
Bunda , , bajariladi. x=x(3) ChTS ning taqribiy ildizi.
Tenglamalar sistemasini oddiy iterasiya usulida yechish uchun ABC Pascal algortmik tilida tuzilgan dastur matni.
program iter_sis; uses crt;
label 1,2; const n=3; {tenglamalar coni}
type matrisa=array[1..n,1..n] of real;
vektor=array[1..n] of real;
var a,a1:matrisa; x,x0,b,b1:vektor; eps,s:real; i,j,k:integer;
begin clrscr;
for i:=1 to n do begin
for j:=1 to n do begin write('a[',i:1,',',j:1,']='); read(a[i,j]) end;
write('b[',i:1,']='); read(b[i]); end;
eps:=0.0001; for i:=1 to n do begin
b1[i]:=b[i]/a[i,i];
for j:=1 to n do a1[i,j]:=-a[i,j]/a[i,i] end;
for i:=1 to n do begin
x0[i]:=b1[i]; a1[i,i]:=0; end;
2: for i:=1 to n do Begin s:=0.0;
for j:=1 to n do s:=s+a1[i,j]*x0[j];
x[i]:=b1[i]+s; end; k:=0;
for i:=1 to n do if abs(x[i]-x0[i])
then begin k:=k+1; if k=n then goto 1 end
else begin for j:=1 to n do x0[j]:=x[j]; goto 2 end;
1: writeln('Sistemaning taqribiy yechimi:');
for i:=1 to n do writeln('x[',i:1,']=',x[i]:10:8);
end.
Dostları ilə paylaş: |