Amaliy ish mavzu: Chiziqli algebraik tenglamalar sistemasini yechishning Gauss, oddiy iteratsiya, Zeydel usullari va ularning algoritmi Ishning maqsadi



Yüklə 397,71 Kb.
səhifə3/4
tarix23.03.2023
ölçüsü397,71 Kb.
#89263
1   2   3   4
Amaliy ish mavzu Chiziqli algebraik tenglamalar sistemasini yec

Dastur natijasi



Chiziqli algebraik tenglamalar sistemasining ildizlarini 0,0000001 aniqlikda iterasiya usulida taqribiy hisoblang.


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

Zeydel usuli chiziqli bir qadamli birinchi tartibli ityeratsion usuldir. Bu usul oddiy ityeratsion usuldan shu bilan farq qiladiki, dastlabki yaqinlashish ga ko’ra topiladi. So’ngra ko’ra topiladi va x.k. Barcha lar aniqlangandan so’ng lar topiladi. Aniqroq aytganda, hisoblashlar quyidagi sxema bo’yicha olib boriladi:




Ko’pincha Zeydel usuli oddiy ityeratsiya usuliga nisbatan yaxshiroq yaqinlashadi, ammo har doim ham bunday bo’lavyermaydi. Bundan tashqari Zeydel usuli programmalashtirish uchun qulaydir, chunki ning qiymati hisoblanayotganda larning qiymatini saqlab qolishning hojati yo’q.
Misol. Zeydel usuli bilan misolning yyechimi 5 xona aniqlikda topilsin.

Yechish. Bu tizimning tenglamalarini mos ravishda 10, 25, - 20, 10, 20 larga bo’lib, quyidagi ko’rinishda yozib olamiz:

bu yerda shart bajariladi. Haqiqadan ham,

Dastlabki yaqinlashish x(0) sifatida ozod hadlar ustuni (0,6; 0,44; 0,95; 1; 1,6)
Ityeratsiyaning birinchi qadamini bajaramiz:
x1(1) = 0,6 – 0,1 x2(0) + 0,3x3(0) +0,2x4(0) – 0,1x5(0) =
=0,6 – 0,1  0,44 + 0,3  0,95 + 0,2  1 – 0,1  1,6 = 0,881
x2(1) = 0,44 + 0,04 x1(1) - 0,04x3(0) +0,2x4(0) + 0,08x5(0) =
= 0,44 + 0,04  0,881 - 0,04  0,95 + 0,2  1 – 0,08  1,6 = 0,771
x3(1) = 0,95 + 0,1 x1(1) + 0,05x2(1) +0,1x4(0) – 0,1x5(0) =
= 0,95 + 0,1  0,881 + 0,05  0,771 + 0,1  1 – 0,15  1,6 = 0,937
x4(1) = 1 – 0,1 x2(1) + 0,1x3(1) +0,5x5(0) = 1,817
x5(1) = 1,6 + 0,05x1(1) + 0,1x2(1) + 0,05x3(1) +0,1x4(1) = 1,948
Keyingi yaqinlashishlarni 6- jadvalda keltiramiz:
6 - jadval

k











0

0,6

0,44

0,95

1

1,6

1

0.881

0,771

0,937

1,817

1,948

2

0,973

0,961

0,985

1.974

1,992

3

0,995

0,995

0,999

1,996

1,999

4

0,9995

0,9991

0,9997

1,9995

1,9998

5

0,99992

0,99989

0,99997

1.99991

1,99997

6

0,99999

0,99998

0,99999

1,99999

2.00000

Javob: x1 = x2 = x3 = 1; x4 = x5 = 2


Taqribiy hisoblashlar kompyuter texnologiyasi yordamida oson bajariladi. Buning uchun amaliy dasturlarga yoki dasturlashtirish tillariga murojaat etiladi. Quyida Turbo Paskal dasturlash tilida iteratsiya usuliga tuzilgan dastur matni:




uses crt;
type mat=array[1..20,1..20] of real; vector=array[1..30] of real;
var ag,temp,a,y,b,z,a2: mat; temp2:array[1..20,1..20] of integer;
i,p,q,j,k,n,nn,t: integer; aa,aas,d,m,x,r,bg,x3,x2: vector; ii: integer;
m2,s2,max,l,s,f: real; h: integer;
begin write('Count N='); readln(n);
for i:=1 to n do begin for j:=1 to n do begin
write('a[',i,'][',j,']='); readln(a[i,j]); end;
write('b[',i,']='); readln(a[i,j+1]); end;
For i:=1 To n do For j:=1 To n+1 do a2[i,j]:=a[i,j]/a[i,i];
For i:=1 To n do x[i]:= a2[i,n+1]; repeat
For i:=1 To n do begin s:=a2[i,n+1]; For j:=1 To n do begin
If ji Then s:=s-a2[i,j]*x[j];
end; x2[i]:=x3[i]; x3[i]:=s; end; f:=0; For i:=1 To n do
begin If Abs(x3[i]-x2[i])>0.00001 Then f:=1; x[i]:=x3[i]; end;
until f<>1; writeln('Ziydel ildizlari'); for k:=1 to n do
writeln('X[',k,']=', x[k]:5:5); for t:=1 to n do begin
l:=a[t,t]; for j:=1 to n+1 do a[t,j]:=a[t,j]/l; for i:=t+1 to n do begin l:=a[i,t];
for j:=1 to n+1 do a[i,j]:=a[i,j]-a[t,j]*l ; end;
end;
end.

Yuqorida berilgan tenglamalar sitemasini Ziydel usulida yechishni ABCPascal dasturi yordamida amalga oshiramiz.





Yüklə 397,71 Kb.

Dostları ilə paylaş:
1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin