Π‘ΠΏΠΎΡΠΎΠ± ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π½Π° ΠΠΠ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΠ°ΡΡΡΠ°
ΠΡΠ²ΠΎΠ΄ ΠΠ΅ΡΠΎΠ΄ ΠΠ°ΡΡΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΡΡΠΌΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ Π‘ΠΠΠ£. ΠΠ΅ΡΠΎΠ΄ ΠΠ°ΡΡΡΠ° ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ ΠΈ ΡΡΠ΅Π΄Π½Π΅ΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ. ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠ΅ΡΠΎΠ΄ ΠΠ°ΡΡΡΠ° Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΉ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠΈΠΉ Π±ΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π°ΡΡΠ°Ρ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π‘ΠΏΠΎΡΠΎΠ± ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π½Π° ΠΠΠ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΠ°ΡΡΡΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
1. Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π‘ΠΠΠ£ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΠ°ΡΡΡΠ° ΠΡΠ²ΠΎΠ΄ Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ΅ΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ, ΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠ±Π΅Π³Π°ΡΡ ΠΊ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π½Π° ΠΠΠ. Π ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ ΠΠ°ΡΡΡΠ°.
Π³Π°ΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΉ
1. Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π‘ΠΠΠ£ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΠ°ΡΡΡΠ° ΠΡΡΠΌΠΎΠΉ Ρ ΠΎΠ΄ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· n (1 ΡΠ°Π³ΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
1-ΠΉ ΡΠ°Π³. Π¦Π΅Π»ΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π³Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ x1 ΠΈΠ· ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ i = 2, 3, …, n. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ a11 (0. ΠΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π³Π»Π°Π²Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ 1-Π³ΠΎ ΡΠ°Π³Π°.
ΠΠ°ΠΉΠ΄Π΅ΠΌ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ
qi1 = ai1/a11 (i = 2, 3, …, n),
Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»ΡΠΌΠΈ 1-Π³ΠΎ ΡΠ°Π³Π°. ΠΡΡΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ· Π²ΡΠΎΡΠΎΠ³ΠΎ, ΡΡΠ΅ΡΡΠ΅Π³ΠΎ, …, n-Π³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° q21, q31, …, qn1. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π² Π½ΡΠ»Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΏΡΠΈ x1 Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΡ , ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ
a11×1 + a12×2 + a13×3 + … + a1nxn = b1,
a22(1)x2 + a23(1)x3 + … + a2n (1)xn = b2(1),
a32(1)x2 + a33(1)x3 + … + a3n (1)xn = b3(1),
an2(1)x2 + an3(1)x3 + … + ann (1)xn = bn (1).
Π² ΠΊΠΎΡΠΎΡΠΎΠΉ aij (1) ΠΈ bij (1) Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π°ΠΌ
aij (1) = aij — qi1a1j, bi (1) = bi — qi1b1.
2-ΠΉ ΡΠ°Π³. Π¦Π΅Π»ΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π³Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ x2 ΠΈΠ· ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ i = 3, 4, …, n. ΠΡΡΡΡ a22(1)? 0, Π³Π΄Π΅ a22(1) — ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Π³Π»Π°Π²Π½ΡΠΌ (ΠΈΠ»ΠΈ Π²Π΅Π΄ΡΡΠΈΠΌ) ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ 2-Π³ΠΎ ΡΠ°Π³Π°. ΠΡΡΠΈΡΠ»ΠΈΠΌ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»ΠΈ 2-Π³ΠΎ ΡΠ°Π³Π°
qi2 = ai2(1) / a22(1) (i = 3, 4, …, n)
ΠΈ Π²ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ· ΡΡΠ΅ΡΡΠ΅Π³ΠΎ, ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠ³ΠΎ, …, n-Π³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΡΠΎΡΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° q32, q42, …, qm2. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΡ
a11×1 + a12×2 + a13×3 + … + a1nxn = b1,
a22(1)x2 + a23(1)x3 + … + a2n (1) = b2(1),
a33(2)x3 + … + a3n (2)xn = b3(2),
an3(2)x3 + … + ann (2)xn = bn (2).
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΡΡΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π³ΠΈ. ΠΠΏΠΈΡΠ΅ΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ k-ΠΉ ΡΠ°Π³.
k-ΠΉ ΡΠ°Π³. Π ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΡΠΎ Π³Π»Π°Π²Π½ΡΠΉ (Π²Π΅Π΄ΡΡΠΈΠΉ) ΡΠ»Π΅ΠΌΠ΅Π½Ρ k-Π³ΠΎ ΡΠ°Π³Π°
akk (k-1) ΠΎΡΠ»ΠΈΡΠ΅Π½ ΠΎΡ Π½ΡΠ»Ρ, Π²ΡΡΠΈΡΠ»ΠΈΠΌ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»ΠΈ k-Π³ΠΎ ΡΠ°Π³Π°
qik = aik (k-1) / akk (k-1) (i = k + 1, …, n)
ΠΈ Π²ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ· (k + 1)-Π³ΠΎ, …, n-Π³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π³Π΅ ΡΠΈΡΡΠ΅ΠΌΡ k-e ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° qk+1,k, qk+2,k, …, qnk. ΠΠΎΡΠ»Π΅ (n — 1)-Π³ΠΎ ΡΠ°Π³Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΠΈΡΠ° A (n-1) ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ. ΠΠ° ΡΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ Ρ ΠΎΠ΄Π° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ.
a11×1 + a12×2 + a13×3 + … + a1nxn = b1,
a22(1)x2 + a23(1)x3 + … + a2n (1)xn = b2(1),
a33(2)x3 + … + a3n (2)xn = b3(2),
ann (n-1)xn = bn (n-1).
ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Ρ ΠΎΠ΄. ΠΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ xn. ΠΠΎΠ΄ΡΡΠ°Π²Π»ΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ xn Π² ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡΡΠΈΠΌ xn-1. ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ, Π΄Π°Π»Π΅Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ xn-1, xn-2, …, x1. ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π°ΠΌ
xn = bn (n-1) / ann (n-1),
xk = (bn (k-1) — ak, k+1(k-1)xk+1 — … — akn (k-1)xn) / akk (k-1), (k = n ;
1, …, 1).
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠ° Π³Π»Π°Π²Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Π΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ΅Π±ΡΡΡ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° Π³Π»Π°Π²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ akk (k-1). ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π²Π½ΡΠΌ Π½ΡΠ»Ρ, ΡΠΎ ΡΡ Π΅ΠΌΠ° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°.
ΠΠ΄ΡΠ°Π²ΡΠΉ ΡΠΌΡΡΠ» ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΈ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ Π³Π»Π°Π²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΡΠ»ΠΈΡΠ½Ρ ΠΎΡ Π½ΡΠ»Ρ, Π½ΠΎ ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ Π΅ΡΡΡ Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΊ Π½ΡΠ»Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π½Π΅ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠΎΡΡ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎΡΡΠΈ.
Π ΠΈΡ. 1 — ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΠ°ΡΡΡΠ°
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Delphi, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ File/New/Form
Π ΠΈΡ. 2 — Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
ΠΠ° ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ:
Image1 — ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ — Π·Π°ΡΡΠ°Π²ΠΊΠ°
Timer1 — ΡΠ°ΠΉΠΌΠ΅Ρ Π ΠΈΡ. 3 — Π‘ΡΠ°ΡΡΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ°Π»Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΡΠΎΡΠΌΡ (form3) ΠΈ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² ΡΠ°ΠΉΠΌΠ΅ΡΠ΅ ΡΠΎΡΠΌΡ 2 Π²ΡΠ΅ΠΌΡ, ΠΏΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΠΈΡ. 4. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ° ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΉΡΡ ΡΠΎΡΠΌΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ:
Button1 — ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
Button2 — Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈ N=2
Edit1 — ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ
Image1 — Π²ΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°
Label1, Label2 — ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ
MainMenu1 — ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ΅Π½Ρ
SavePictureDialog1 — Π΄ΠΈΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»
StringGrid1, StringGrid2 — Π²Π²ΠΎΠ΄ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΠ²ΠΎΠΉΠ½ΡΠΌ ΡΠ΅Π»ΡΠΊΠΎΠΌ ΠΏΠΎ ΡΠΎΡΠΌΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΈΡΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΠ΄ unit3
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, Menus, ExtCtrls, unit1, ExtDlgs, unit4, unit5;
const MaxDimension = 10;
type
Vector = array[1.MaxDimension] of Double;
Matrix = array[1.MaxDimension] of Vector;
TForm3 = class (TForm)
Label1: TLabel;
Edit1: TEdit;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
Button1: TButton;
Label2: TLabel;
Label3: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
Image1: TImage;
SavePictureDialog1: TSavePictureDialog;
N2: TMenuItem;
Button2: TButton;
procedure Edit1Change (Sender: TObject);
procedure Button1Click (Sender: TObject);
procedure FormCreate (Sender: TObject);
procedure N6Click (Sender: TObject);
procedure N4Click (Sender: TObject);
procedure N3Click (Sender: TObject);
procedure N2Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3. Button1Click (Sender: TObject);
var a: Matrix;
b, x: Vector;
h: Double;
i, j, k, n: integer;
begin
//ΠΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ
//Π Π°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ
n:= StrToIntDef (Text, StringGrid1. ColCount);
//ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ
for i:=0 to 249 do begin
for j:=0 to 161 do begin
image1.Canvas.Pixels [i, j]: =image1.Canvas.Pixels[1,1];
end;
for j:= 0 to n — 1 do
for i:= 0 to n — 1 do
a[i + 1, j + 1]: = StrToFloatDef (StringGrid1.Cells[j, i], 0);
//ΠΡΠ°Π²Π°Ρ ΡΠ°ΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
for I:= 0 to n — 1 do b[i + 1]: = StrToFloatDef (StringGrid2.Cells[0, i], 0);
//ΠΡΡΠΌΠΎΠΉ Ρ ΠΎΠ΄ — ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
for i:=1 to n-1 do
for j:=i+1 to n do
begin
a[j, i]: =-a[j, i]/a[i, i];
for k:=i+1 to n do
a[j, k]: =a[j, k]+a[j, i]*a[i, k];
b[j]: =b[j]+a[j, i]*b[i]
end;
x[n]: =b[n]/a[n, n];
//ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Ρ ΠΎΠ΄ — Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠ½Π΅ΠΉ
for i:=n-1 downto 1 do
begin
h:=b[i];
for j:=i+1 to n do h:=h-x[j]*a[i, j];
x[i]: =h/a[i, i]
end;
//ΠΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°
for i:=1 to n do image1.Canvas.TextOut (1, 1+15*i, ('x'+ floattostr (i)+'= '+floattostr (x[i])));
for i:=0 to 249 do begin
for j:=0 to 161 do begin
if image1.Canvas.Pixels [i, j]<>clblack then image1.Canvas.Pixels [i, j]: =image1.Canvas.Pixels[1,1];
end;
procedure TForm3. Edit1Change (Sender: TObject);
begin
with StringGrid1, Edit1 do
begin
ColCount:= StrToIntDef (Text, 3);
RowCount:= StrToIntDef (Text, 3);
end;
with StringGrid2, Edit1 do
RowCount:= StrToIntDef (Text, 3);
if edit1. Text='2' then button2. Enabled:=true else button2. Enabled:=false;
end; //Button2 ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ N=2
procedure TForm3. FormCreate (Sender: TObject);
var i, j: integer;
begin
//ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
Randomize;
for I:= 0 to StrToIntDef (Text, StringGrid1. ColCount) — 1 do
for J:= 0 to StrToIntDef (Text, StringGrid1. RowCount) — 1 do
StringGrid1.Cells[I, J]: = IntToStr (Random (100));
for I:= 0 to StrToIntDef (Text, StringGrid2. RowCount) — 1 do
StringGrid2.Cells[0, I]: = IntToStr (Random (100))
procedure TForm3. N6Click (Sender: TObject);
begin
form1.Visible:=true;
end;
procedure TForm3. N4Click (Sender: TObject);
begin
close;
end;
procedure TForm3. N3Click (Sender: TObject);
var
filename: string;
begin
if savepicturedialog1. Execute then
begin
FileName:= savepicturedialog1. FileName;
image1.Picture.SaveToFile (filename);// ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Image1 Π² ΡΠ°ΠΉΠ»
end;
procedure TForm3. N2Click (Sender: TObject);
begin
form4.Visible:=true;
end;
procedure TForm3. Button2Click (Sender: TObject);
var
i, j: integer;
begin
form5.Image1.Canvas.Rectangle (0,0,400,400);
for i:=1 to 398 do begin
for j:=1 to 398 do begin
form5.Image1.Canvas.Pixels[i, j]: =form3.Image1.Canvas.Pixels[1,1];
end;
end; //ΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΠΌΠΊΡ ΠΈ ΠΊΡΠ°ΡΠΈΠΌ Π΅Π΅ Π² ΡΠ²Π΅Ρ ΠΎΠΊΠ½Π°
form5.Visible:=true;
form5.Image1.Canvas.pen.Color:=clred;
form5.Image1.Canvas.MoveTo (0,200−50*round ((strtofloat (stringGrid2.Cells[0,0])+4*strtofloat (stringGrid1.Cells[0,0]))/strtofloat (stringGrid1.Cells[1,0])));
form5.Image1.Canvas.LineTo (400,200−50*round ((strtofloat (stringGrid2.Cells[0,0])-4*strtofloat (stringGrid1.Cells[0,0]))/strtofloat (stringGrid1.Cells[1,0])));
form5.Image1.Canvas.Pen.Color:=clblue;
form5.Image1.Canvas.MoveTo (0,200−50*round ((strtofloat (stringGrid2.Cells[0,1])+4*strtofloat (stringGrid1.Cells[0,1]))/strtofloat (stringGrid1.Cells[1,1])));
form5.Image1.Canvas.LineTo (400,200−50*round ((strtofloat (stringGrid2.Cells[0,1])-4*strtofloat (stringGrid1.Cells[0,1]))/strtofloat (stringGrid1.Cells[1,1])));
form5.Image1.Canvas.Pen.Color:=clblack;
i:=0;
form5.Image1.Canvas.MoveTo (200,0);
form5.Image1.Canvas.LineTo (200,400);
form5.Image1.Canvas.MoveTo (0,200);
form5.Image1.Canvas.LineTo (400,200);
repeat
i:=i+50;
form5.Image1.Canvas.MoveTo (i, 195);
form5.Image1.Canvas.LineTo (i, 205);
form5.Image1.Canvas.MoveTo (195,i);
form5.Image1.Canvas.LineTo (205,i);
until i>300;
form5.Image1.Canvas.TextOut (185,145,'1');// ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ°Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ°
end;
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls;
type
TForm4 = class (TForm)
Image1: TImage;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
end.
ΠΠ° ΡΡΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠΌ Image1, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈ Π±ΡΠ΄Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊ. ΠΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ Π² Unit3
ΠΠΎΠ΄ unit5
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm5 = class (TForm)
Image1: TImage;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
end.
ΠΠΎΠ΄ unit1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class (TForm)
Label1: TLabel;
procedure FormCreate (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1. FormCreate (Sender: TObject);
begin
label1.Caption:='ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅'+#10#13+'ΡΠΈΡΡΠ΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ Π°Π»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ'+#10#13+ 'ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΠ°ΡΡΡΠ°';
end;
ΠΡΠ²ΠΎΠ΄ ΠΠ΅ΡΠΎΠ΄ ΠΠ°ΡΡΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΡΡΠΌΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ Π‘ΠΠΠ£. ΠΠ΅ΡΠΎΠ΄ ΠΠ°ΡΡΡΠ° ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ ΠΈ ΡΡΠ΅Π΄Π½Π΅ΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ. ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠ΅ΡΠΎΠ΄ ΠΠ°ΡΡΡΠ° Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΉ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠΈΠΉ Π±ΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π°ΡΡΠ°Ρ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΠΠ.
1. http:/www.wikipedia.org/wiki/ΠΠ΅ΡΠΎΠ΄ ΠΠ°ΡΡΡΠ°
2. ΠΠ°ΡΡΠ΅Π²ΡΠΊΠ°Ρ Π. Π., Π Π°ΠΌΠ±ΡΡΠ³Π΅Ρ Π. Π., Π’Π°ΡΡ ΠΎΠ² Π‘. Π., Π₯Π°ΠΌΠ·ΠΈΠ½Π° Π. Π. «Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΡΠ΅Π΄Π΅ Borland Delphi», Π£ΠΠΠ’Π£-2005
3. ΠΠ°ΡΡΠ΅Ρ — Π‘Π°ΠΌΠΎΡΡΠΈΡΠ΅Π»Ρ ΠΏΠΎ Delphi 7 AlexSoft 1997;2001 Π³.