Amaliy matematika va informatika
{ * --3.11- Paskal tilida dastur - *} uses crt
Download 76.81 Kb.
|
chiziqli algebraik tenglamalar tizimini yechish. iteratsion usullar. oddiy iteratsiya usuli-converted
- Bu sahifa navigatsiya:
- Gauss – Zeydelning iteratsiya usuli
- { Delphi tilida dastur} uses crt;
- XULOSA
- FOYDALANILGAN ADABIYOTLAR RO`YXATI
{ * --3.11- Paskal tilida dastur - *} uses crt;label 40,90,100; var n,i,j:integer; c,c1:real; a:array[1..5,1..5] of real; b:array[1..5] of real; x:array[1..5] of real; x1:array[1..5] of real; begin clrscr; writeln(' Oddiy iteratsiya usulida '); writeln(‘ chiziqli tenglamalar sistemasini yechish’); write('tenglamalar soni N='); readln(n); for i:=1 to n do begin for j:=1 to n do begin gotoxy(16*j,4*i); write(‘a[‘,i,’:’,j,’]=’); read(a[i,j]); end; gotoxy(22*j,4*i); write(‘b[‘,i,’]=’); read(b[i]); end; for i:=1 to n do begin c:=a[i,i]; for j:=1 to n do a[i,j]:=a[i,j]/c; b[i]:=b[i]/c; x[i]:=b[i]; end; 40: for i:=1 to n do a[i,i]:=0; for i:=1 to n do begin c1:=0; for j:=1 to n do c1:=c1+a[i,j]*x[j]; x1[i]:=b[i]-c1; end; for i:=1 to n do if abs(x[i]-x1[i])>0.01 then goto 90; goto 100; 90: for i:=1 to n do x[i]:=x1[i]; goto 40; 100: clrscr; writeln(‘YECHIM:’); for i:=1 to n do writeln(‘x[‘,i,’]=’,x[i]); readln; end. Oddiy iteratsiya usulida chiziqli tenglamalar sistemasini yechish tenglamalar soni N=4 a[1,1]=20.9 a[1,2] =1.2 a[1,3]:=2.1 a[1,4]=0.9 a[1,5]=21.7 a[2,1]=1.2 a[2,2]=21.2 a[2,3]=1.5 a[2,4]=2.5 a[2,5]=27.46 a[3,1]=2.1 a[3,2]=1.5 a[3,3]=19.8 a[3,4]=1.3 a[3,5]:=28.76 a[4,1]=0.9 a[4,2]=2.5 a[4,3]=1.3 a[4,4]=32.1 a[4,5]=49.72 YECHIM: x[1]=0.7999 x[2]=0.9999 x[3]=1.1999 x[4]=1.3999
1.02x 0.05x 0.10x 0.795 1 0.11x 1
2 0.97x2 0.12x 3 0.05x 1.04x 3 0.849
(*)
1 2 3 Yechish. Berilgan sistema matritsasining diagonal elementlari birga yaqin bo‘lib, qolganlari modul jihatdan birdan ancha kichik. Iteratsiya usulini qo‘llab yechish uchun (*) sistemani quyidagi ko‘rinishga keltiramiz: x1 0.79 50.0 2x1 0.05x2 0.1x3 x2 0.84 9 0.1 1x1 0.0 3x2 0.05x3 x3 1.39 8 0.1 1x1 0.1 2x2 0.04x3 Olingan bu sistema uchun yaqinlashish shartini tekshiramiz: 3
j 1 c1 j =0.02+0.05+0.10=0.17<1; 3
j 1 3 c2 j =0.11+0.05+0.03=0.19<1; j 1 c3 j =0.11+0.12+0.04=0.27<1. Bulardan, =0.27<1 bo‘lib, 1 0.27 1 0.27 0.369... 0.37 Demak, hosil bo‘lgan oxirgi sistemaga qo‘llaniladigan iteratsiya yaqinlashuvchi bo‘lar ekan. Boshlang‘ich x 0 vektorning elementlari sifatida ozod hadlarni verguldan so‘ng ikki xonagacha aniqlik bilan quyidagicha tanlaymiz: 0.80
1.40 Endi hosil bo‘lgan sistemaga iteratsiya usulini qo‘llash bilan yechimni ketma-ket quyidagicha topamiz: K=1 bo‘lganda K=2 bo‘lganda x (1) =0.795-0.013+0.0425+0.140=0.9613 x (1) =0.849+0.088-0.0255+0.070=0.9813 1 2 x (1) =1.398+0.088+0.1020-0.056=1.532 3 K=3 bo‘lganda 2 3 (2) 1 x 0.978 , x (2) 2 1.002 , x(2) 1.560 3
(3) x 1 0.980 , x(3) 1.004 , x(3) 1.563 K=2 va K=3 bo‘lganda yechim qiymatlarining farqi modul jihatdan 0,37. dan katta emas, shuning uchun taqribiy yechimni quyidagicha olamiz: x1 0.980, x2 1.004, x3 1.563 Gauss – Zeydelning iteratsiya usuliQuyidagi chiziqli tenglamalar sistemasini Gayss-Zeydel usulida yechamiz. a11x1+a12 x2+a13x3+a14 x4=b1
a 21x1+a 22 x 2+a 23x 3+a 24 x 4=b2 (4.1)
31x1+a a 32 x 2+a 33x 3+a 34 x 4=b3 a41x1+a 42 x2+a 43x3+a 44 x4=b4 Aytaylik, aii 0 i=1,2,3,4 bo‘lsin. Berilgan sistemani x1=(b1-a12x2-a13x3-a14x4 )/a11 x2=(b2-a11x1-a23x3-a24x4 )/a22 x3=(b3-a31x1-a32x2-a34x4 )/a33 x4=(b4-a41x1-a42x2-a43x3 )/a44 (4.2)
ko‘rinishga keltiramiz. Bu sistemaning yechimini topish uchun birorta boshlang‘ich yaqinlashishni tanlab
x(0), x(0), x(0), x(0) 1 2 3 4
larni olamiz. Bu boshlang‘ich yaqinlashish asosida (4.2) tenglamaning birinchi tenglamasidan x (1) (b a x (0) a x (0) a x (0) ) / a 1 ikkinchi tenglamasidan 2 12 2
x (1) (b a x (1) a x (0) a x (0) ) / a 2 uchinchi tenglamasidan 2 21 1 23 3
24 4 22 x (1) (b a x (1) a x (1) a x (0) ) / a 3 3 31 1 32 2
34 4 33 4 larni hisoblab topamiz. 1 2 3
Xuddi shu yo‘l bilan k-1 yaqinlashish asosida k-chi yaqinlashishni quyidagicha topamiz: x (k ) (b a x (k 1) a x (k 1) a x (k 1) ) / a 1 1 12 2 13 3
14 4 11 x (k ) (b a x (k ) a x (k 1) a x (k 1) ) / a 2 2 21 1 23 3 24 4 22 x (k ) (b a x (k ) a x (k ) a x (k 1) ) / a 3 3 31 1 32 2 34 4 33 x (k ) (b a x (k ) a x (k ) a x (k ) ) / a 4 4 41 1 42 2 34 43 44 Umuman, agar (3.2) tenglamalar sistemasi o‘rniga n noma’lum n chiziqli tenglamalar sistemasi berilgan bo‘lib, aii 0, i 1, n bo‘lsa, k-yaqinlashish uchun x(k) (b a x(k) ... a x(k) a x(k 1) ... a x(k 1)) / a i i formula hosil bo‘ladi. i1 1 i, i 1 i 1 i, i 1 i 1 i, n1 n 1 ii Iteratsiya jarayoni max x(k ) x(k 1) i i shart bajarilguncha davom etadi (>0 berilgan aniqlik). Bu iteratsiya jarayonining yaqinlashishi uchun
aij aii , i 1, n (4.3)
j 1, i j tengsizliklarning bajarilishi etarlidir. 3.3-misol. Quyidagi chiziqli tenglamalar sistemasi =10-3 aniqlikda Zeydel usuli bilan yeching. 20.9x1 1.2x2 2.1x3 0.9x4 21.7
x1=(21.70-1.2x2-2.1x3-0.9x4)/20.9 x2=(27.46-1.2x1-1.5x3-2.5x4)/21.2 x3=(28.76-2.1x1-1.5x2-1.3x4)/19.8 x4=(49.72-0.9x1-2.5x2-1.3x3)/32.1
boshlang‘ich x 0 vektorni 1.04 0 1.30 x 1 2 3 4 1.45 eku x(0) 1.04, x(0) 1.3, x(0) 1.45, x(0) 1.55 1.55 kabi tanlab, Zeydel usulini qo‘llaymiz. K=1 deb, birinchi yaqinlashishni topamiz:
=(21.7-1.56-3.045-1.395)/20.9=0.7512 x(1) =(27.46-1.2 x (1) -1.5 x (0) -2.5 x (0) )/21.2= 2 1 3 4 =(27.46-0.900-2.175-3.875)=0.9674 x(1) =(28.76-2.1 x (1) -1.5 x (1) -1.3 x (0) )/19.8= 3 2 2 4 =(28.76-1.575-1.455-2.013)=1.1977 x(1) =(49.72-0.9 x (1) -2.5 x (1) -1.3 x (1) )/32.1= 4 1 2 3 max xi(1) xi(0) =(49.72-0.675-2.425-1.56)=1.4037 max0,2888; 0,3004; 0,2504; 0,1500 0,3004 103.
K=2 bo‘lganda: x(2) =13.76062/20.9=0,6558 x(2) =21.9902/21.2=0.9996 1 2 x(2) =23.75180/19,8=1,19959 3 x(2) =44.93971/32.1=1.4000 4 max xi (2) xi (1) max0,0954; 0,0322; 0,0019; 0,0037 0,0954 103. K=3 bo‘lganda: max xi(3) xi(4) x(3) =13.7213/20.9=0.6557 x(3) =21.200528/21.2=1.00002 2 1 x(3) =23.759844/19.8=1.19999 3 x(3) =44.939909/32.1=1.4000 4 max0,0001; 0,0004; 0,0004;0,3 0,0004 10 3 Bu qadam uchun yaqinlashish sharti bajarildi, demak, berilgan aniqlikdagi yechim: x x x 0,656; x 1 1,000; 1,200; 1,400.
CHiziqli tenglamalar sistemasini Zeydel usuli bilan hisoblash dasturini beramiz: 2 3 4 { Delphi tilida dastur} uses crt;label 40,90,100; var n,i,j:integer; c,c1:real; a:array[1..5,1..5] of real; b:array[1..5] of real; x:array[1..5] of real; x1:array[1..5] of real; begin clrscr; writeln(' Zeydel usulida xisoblash '); write('Tenglamalar sonini kiriting‘); write(' n='); readln(n); for i:=1 to n do begin for j:=1 to n do begin gotoxy(16*j,4*i); write(‘a[‘,i,’:’,j,’]=’); read(a[i,j]); end; gotoxy(22*j,4*i); write(‘b[‘,i,’]=’); read(b[i]); end; for i:=1 to n do begin c:=a[i,i]; for j:=1 to n do a[i,j]:=a[i,j]/c; b[i]:=b[i]/c; x[i]:=b[i]; end; 40: for i:=1 to n do a[i,i]:=0; for i:=1 to n do begin c1:=0; for j:=1 to n do c1:=c1+a[i,j]*x[j]; x1[i]:=b[i]-c1; end; for i:=1 to n do if abs(x[i]-x1[i])>0.01 then goto 90; goto 100; 90: for i:=1 to n do x[i]:=x1[i]; goto 40; 100: clrscr; writeln(‘Sistema yechimlari:’); for i:=1 to n do writeln(‘x[‘,i,’]=’,x[i]); readln; readln; end. Chiziqli tenglamalar sistemasining yechimini Zydel uculida ehisoblash Nomalumlar sonini kriting n=4 a[1,1]=20.9 a[1,2] =1.2 a[1,3]:=2.1 a[1,4]=0.9 a[1,5]=21.7 a[2,1]=1.2 a[2,2]=21.2 a[2,3]=1.5 a[2,4]=2.5 a[2,5]=27.46 a[3,1]=2.1 a[3,2]=1.5 a[3,3]=19.8 a[3,4]=1.3 a[3,5]:=28.76 a[4,1]=0.9 a[4,2]=2.5 a[4,3]=1.3 a[4,4]=32.1 a[4,5]=49.72 Sistema yechimi x[1]=0.7999 x[2]=0.9999 x[3]=1.1999 x[4]=1.3999 XULOSABugungi kunda chiziqli algebraik teglamalar sistemasini taqribiy yechish usullari keng qo’llanilmoqda. Masalaning yechimini topishning aniq usullarida hisoblash jarayonida yo’l qo’yilgan xatoliklar masala yechimiga jiddiy ta’sir ko’rsatadi. Shuning uchun ham taqribiy usullardan biri bo’lgan iteratsion usullar bugungi kunda ommabop usullardan hisoblanadi. Ushbu kurs ishini bajarish davomida quyidagi ishlar amalga oshirildi: Iteratsion usullar haqida qisqacha ma’lumotlar berib o’tildi; Oddiy iteratsiya usulining tavsifi keltirildi; Zeydel usulining tavsifi keltirildi; Gauss- Zeydelning iteratsion usuli tavsifi keltirildi; Usullarning ishchi algoritmlari keltirildi. Ushbu ishda keltirilgan ma’lumotlardan taqribiy yechishning iteratsion usullarini qo’llashni yo’lga qo’yishni , ya’ni kengroq o’rganishni istovchilarning faydalanishlari yaxshi natija beradi deb hisoblaymiz. FOYDALANILGAN ADABIYOTLAR RO`YXATIIsroilov M. «Hisoblash metodlari», T., "O`zbekiston", 2003 Shoxamidov Sh.Sh. «Amaliy matematika unsurlari», T., "O`zbekiston", 1997 Boyzoqov A., Qayumov Sh. «Hisoblash matematikasi asoslari», O`quv qo`llanma. Toshkent 2000. Abduqodirov A.A. «Hisoblash matematikasi va programmalash», Toshkent. "O`qituvchi" 1989. Vorob`eva G.N. i dr. «Praktikum po vichislitel’noy matematike» M. VSh. 1990. Abduhamidov A., Xudoynazarov S. «Hisoblash usullaridan mashqlar va laboratoriya ishlari», T.1995. Siddiqov A. «Sonli usullar va programmalashtirish», O`quv qo`llanma. T.2001. Internet ma`lumotlarini olish mumkin bo`lgan saytlar: www.exponenta.ru www.lochelp.ru www.math.msu.su www.colibri.ru www.ziyonet.uz1> Download 76.81 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling