ΠΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ Π°Π»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΌΠΌΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ°Π²Π½ΡΠΌ 0, Π΅ΡΠ»ΠΈ Π²Π΅ΡΡ Π½ΠΈΠΉ ΠΏΡΠ΅Π΄Π΅Π» ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅Π½ΡΡΠ΅ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ. Π’ΠΎΠ³Π΄Π° ΠΏΡΠΈ i=1 ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄: (3). Π ΠΌΠ΅ΡΠΎΠ΄Π΅ Π―ΠΊΠΎΠ±ΠΈ ΠΈΡΡ ΠΎΠ΄ΡΡ ΠΈΠ· Π·Π°ΠΏΠΈΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π² Π²ΠΈΠ΄Π΅ (2), ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, (n=0, 1, …, n0, i=1, 2, …, m) (4). Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΈcΡΠ΅ΠΌΠ° AΒ· x = f (1), Π³Π΄Π΅ ΠΌΠ°ΡΡΠΈΡΠ° A = (i, j = 1, 2, …m) ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ; x = (x1, x2, x3,… xm) — Π²Π΅ΠΊΡΠΎΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ , f… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ Π°Π»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ°Π½Π½Π°Ρ ΠΊΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ Π°Π»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ (Π‘ΠΠΠ£):
1. ΠΠ΅ΡΠΎΠ΄ Π―ΠΊΠΎΠ±ΠΈ (ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ).
2. ΠΠ΅ΡΠΎΠ΄ Π₯ΠΎΠ»Π΅ΡΠΊΠΎΠ³ΠΎ.
3. ΠΠ΅ΡΠΎΠ΄ Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ΅Π»Π°ΠΊΡΠ°ΡΠΈΠΈ.
Π’Π°ΠΊΠΆΠ΅ Π΄Π°Π½Π½Π°Ρ ΠΊΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ: ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ (Π°Π½Π°Π»ΠΈΠ·), ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Borland C++ Builder 6.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°
ΠΠ΅ΡΠΎΠ΄ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌ, Π΅ΡΠ»ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΎΡΠ½ΠΎΡΡΡ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π΅ΡΡΡ. Π§ΠΈΡΠ»ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΎΡΠ΅Π½ΠΊΠΎΠΉ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΠΎ ΡΡΠΎΠΌΡ ΡΠΈΡΠ»Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΠ»Π°Π²Π½ΡΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π²ΠΎΠΏΡΠΎΡ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΎΠ±ΡΡΠ½ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ»ΡΠΆΠ°Ρ: ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ (ΠΌΠ΅ΡΠΎΠ΄ Π―ΠΊΠΎΠ±ΠΈ), ΠΌΠ΅ΡΠΎΠ΄ ΠΠ΅ΠΉΠ΄Π΅Π»Ρ, ΠΌΠ΅ΡΠΎΠ΄ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ΅Π»Π°ΠΊΡΠ°ΡΠΈΠΉ.
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π΅ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π―ΠΊΠΎΠ±ΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΈcΡΠ΅ΠΌΠ° AΒ· x = f (1), Π³Π΄Π΅ ΠΌΠ°ΡΡΠΈΡΠ° A = [aij] (i, j = 1, 2, …m) ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ; x = (x1, x2, x3,… xm) — Π²Π΅ΠΊΡΠΎΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ , f — Π²Π΅ΠΊΡΠΎΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ². Π‘ΠΈΡΡΠ΅ΠΌΡ (1) Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π²ΠΈΠ΄Ρ: (2) i=1, 2,…, m, Π³Π΄Π΅, , ΠΏΡΠΈ ΡΡΠΎΠΌ aii 0.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΌΠΌΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ°Π²Π½ΡΠΌ 0, Π΅ΡΠ»ΠΈ Π²Π΅ΡΡ Π½ΠΈΠΉ ΠΏΡΠ΅Π΄Π΅Π» ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅Π½ΡΡΠ΅ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ. Π’ΠΎΠ³Π΄Π° ΠΏΡΠΈ i=1 ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄: (3). Π ΠΌΠ΅ΡΠΎΠ΄Π΅ Π―ΠΊΠΎΠ±ΠΈ ΠΈΡΡ ΠΎΠ΄ΡΡ ΠΈΠ· Π·Π°ΠΏΠΈΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π² Π²ΠΈΠ΄Π΅ (2), ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:, (n=0, 1, …, n0, i=1, 2, …, m) (4).
ΠΠ°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ — (i=0, 1, …, m) Π·Π°Π΄Π°ΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎ (Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΡ ΡΡΠΎ ΠΏΡΠΎΠ΄Π΅Π»ΡΠ²Π°Π΅ΠΌ, Π²Π²ΠΎΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» — «random»). ΠΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π»ΠΈΠ±ΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ n0, Π»ΠΈΠ±ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ:, Π³Π΄Π΅ >0. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ (4) ΠΏΡΠΈΠΌΠ΅ΠΌ .
ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΉ x1(0), x2(0),…, xm(0), x1(1), x2(1),…, xm(1),…, x1(k), x2(k),…, xm(k) ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ΅Π΄Π΅Π», , ΡΠΎ ΡΡΠΎΡ ΠΏΡΠ΅Π΄Π΅Π» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ (2).
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ (1) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΡΠ° A ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ Ρ ΠΏΡΠ΅ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΠΌΠΈ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΡΠΎ Π΅ΡΡΡ, i=1, 2, …, m.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΡΠΎΡΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ — ΠΌΠ΅ΡΠΎΠ΄ ΠΠ΅ΠΉΠ΄Π΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΌΠ΅ΡΠΎΠ΄Π° Π―ΠΊΠΎΠ±ΠΈ. ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π΅Π³ΠΎ ΠΈΠ΄Π΅Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ (k+1) — Π³ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ xi ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠΆΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅ (k+1) — Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΡ (x1 x2,…, xi-1).
ΠΡΡΡΡ Π΄Π°Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π»ΠΈΠ½Π΅ΠΉΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°: (i = 1, 2, …n) (5). ΠΡΠ±ΠΈΡΠ°ΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΡΠ½Π΅ΠΉ x1(0), x2(0),…, xn(0), ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π»ΠΈ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ x1, x2, x3,…, xn.
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ k-Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠ½Π΅ΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠΎΠ³Π΄Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΠ΄Π΅Π΅ΠΉ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΡΡΠΎΠΈΡΡΡ (k+1) — Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΡΠΌΡΠ»Π°ΠΌ:
ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ (5) — ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ, ΡΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΠ΅ΠΉΠ΄Π΅Π»Ρ Π²ΡΠ³ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ (6) ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π»ΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΡΡ ΡΡΠΌΠΌΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²: .
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈ 3 ΠΌΠ΅ΡΠΎΠ΄ — ΠΌΠ΅ΡΠΎΠ΄ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ΅Π»Π°ΠΊΡΠ°ΡΠΈΠΉ.
ΠΠ΅ΡΠΎΠ΄ Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ΅Π»Π°ΠΊΡΠ°ΡΠΈΠΈ — ΡΡΠΎ Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΠ΅ΠΉΠ΄Π΅Π»Ρ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ w.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΎΠ΄Π½ΠΎΡΠ°Π³ΠΎΠ²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ΅Π»Π°ΠΊΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄ (7), Π³Π΄Π΅ w Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ (0
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²ΠΎΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ΅Π»Π°ΠΊΡΠ°ΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΏΡΠΈ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΏΡΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π²ΠΈΠ΄ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΡΠΈΠ² Π΄Π»Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ°.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠ΅ΡΠ½ΡΡ ΡΠΎΡΠΌΡΠ» (7) ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ Π² Π²ΠΈΠ΄Π΅: ΠΈΠ»ΠΈ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ (8) — ΡΡΠΎ Π΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΡΠ»Π°.
Π Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (8) ΠΈ Π²Ρ ΠΎΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ => ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π² ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΌΠ°ΡΡΠΈΠ². ΠΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ΅Π»Π°ΠΊΡΠ°ΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΠΎΡΠΌΠ° Π·Π°ΠΏΠΈΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ .
ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (i+10 ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ) Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈ k
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ (Π°Π½Π°Π»ΠΈΠ·)
Π‘ΠΎΡΡΠ°Π²Π»ΡΡ Π·Π°Π΄Π°ΡΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Borland C++ Builder 6 Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ Π‘ΠΠΠ£ Ρ ΡΡΠΈΡΡΠ²Π°Π» ΡΠ°Π·Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ (ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π·Π°Π΄Π°Π²Π°Π» ΡΠ°Π²Π½ΡΠΌ nxn). ΠΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ:
ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΡΠΎΡΠ΅ΡΡ ΠΠ΅ΠΉΠ΄Π΅Π»Ρ ΡΡ ΠΎΠ΄ΠΈΡΡΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Π―ΠΊΠΎΠ±ΠΈ. ΠΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΠ΅ΠΉΠ΄Π΅Π»Ρ ΡΡ ΠΎΠ΄ΠΈΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈ Ρ. ΠΏ. ΠΡΠ°Π²Π΄Π°, Π±ΡΠ²Π°Π΅Ρ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΠΎ Π²ΡΡΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π―ΠΊΠΎΠ±ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½Ρ ΠΈ Π΄Π»Ρ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΠ΅ΠΉΠ΄Π΅Π»Ρ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ° Ρ ΡΠ²ΠΈΠ΄Π΅Π», ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΠ΅ΠΉΠ΄Π΅Π»Ρ ΡΡ ΠΎΠ΄ΠΈΡΡΡ Π±ΡΡΡΡΠ΅Π΅. ΠΡΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠΈ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ =0,1. ΠΡΠ»ΠΈ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π―ΠΊΠΎΠ±ΠΈ ΠΎΠ½ΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ 16, ΡΠΎ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΠ΅ΠΉΠ΄Π΅Π»Ρ ΠΎΠ½ΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ 9.
Π’Π°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ΅Π»Π°ΠΊΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Ρ Π΅Π³ΠΎ Ρ Π΄Π²ΡΠΌΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ΅Π»Π°ΠΊΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° w. ΠΠ°Π΄Π°Π²Π°Ρ w=1, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ°Π²Π½ΠΎ 9, ΡΠΌΠ΅Π½ΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΎΡ 1 ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°ΡΡΠΈ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΎΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°ΡΡΠΈ.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ (k) ΠΏΡΠΈ ΡΠ°Π·Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° w:
w | 0.1 | 0.4 | 0.8 | 0.9 | 1.1 | 1.2 | 1.3 | 1.7 | 1.9 | ||
k | |||||||||||
ΠΠ· Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡ ΠΎΠ΄ΡΡΡΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΡΠΎΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎ ΡΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΡΡ ΠΊΠ°ΠΊ Π±ΡΡΡΡΠΎΠ΅ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π²ΡΠ·ΠΎΠΊ, ΡΠ°ΠΊ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ .
ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
// -
#include <vcl.h>
#pragma hdrstop
#include «Unit1.h»
// -
#pragma package (smart_init)
#pragma resource «*.dfm»
#include
#include
TForm1 *Form1;
int n=0, prov=0, k=0;
const x=100;
float A[x] [x], B[x] [x];
float C[x], Y[x];
float *X;
bool fl1=false;
float e;
float v_sh;
// -
__fastcall TForm1:TForm1 (TComponent* Owner)
: TForm (Owner)
{
}
// -
void __fastcall TForm1: ButtonOkClick (TObject *Sender)
{
Memo1->Lines->Clear ();
k=0;
TryStrToInt (Edit1->Text, n);
if (n>1)
{
StringGrid1->Enabled=true;
StringGrid1->RowCount=n;
StringGrid1->ColCount=n+1;
ButtonClear->Enabled=true;
ButtonOk->Enabled=false;
StringGrid1->Color=clWindow;
ButtonYakobi->Enabled=true;
ButtonZeydel->Enabled=true;
ButtonRelax->Enabled=true;
X=new float[n];
for (int i=0; i; i++)
{
for (int j=0; j; j++)
{
A[i] [j]=NULL;
}
X[i]=NULL;
}
}
else
{
ShowMessage («Π§ΠΈΡΠ»ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°!«);
}
}
// -
void __fastcall TForm1: ButtonClearClick (TObject *Sender)
{
StringGrid1->Enabled=false;
StringGrid1->RowCount=0;
StringGrid1->ColCount=0;
ButtonClear->Enabled=false;
ButtonOk->Enabled=true;
StringGrid1->Color=clBtnFace;
ButtonYakobi->Enabled=false;
}
// -
void __fastcall TForm1: ButtonYakobiClick (TObject *Sender)
{
//TryStrToFloat (Edit2->Text, e);
Memo1->Lines->Clear ();
e=StrToFloat (Edit2->Text);
for (int i=0; i; i++)
{
for (int j=0; j; j++)
{
TryStrToFloat (StringGrid1->Cells[j] [i], A[i] [j]);
}
}
for (int i=0; i; i++)
{
for (int j=0; j; j++)
{
if (A[i] [j]==NULL)
{
ShowMessage («ΠΡΠΈΠ±ΠΊΠ°! ΠΡΡΡ ΠΏΡΡΡΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ!«);
fl1=true;
i=n;
break;
}
}
}
if (! fl1) {
for (int i=0; i; i++)
{
for (int j=0; j; j++)
{
if (i!=j) B[i] [j]=(-1)*A[i] [j]/A[i] [i];
else
{
B[i] [j]=0;
C[i]=A[i] [n]/A[i] [i];
}
}
}
for (int i=0; i; i++) X[i]=C[i];
float s=0;
k=0;
do
{
prov=0;
for (int i=0; i; i++)
{
Y[i]=X[i];
for (int j=0; j; j++)
{
s+=B[i] [j]*X[i];
}
X[i]=s+C[i];
s=0;
}
for (int i=0; i; i++)
{
if (fabs (X[i] — Y[i])
}
k++;
}
while (prov!=n);
Memo1->Lines->Add (" ΠΠΠ’ΠΠ Π―ΠΠΠΠ«);
Memo1->Lines->Add (««);
String p=««;
Memo1->Lines->Add («ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°:«);
for (int i=0; i; i++)
{
p=««;
for (int j=0; j; j++)
{
p+=FloatToStr (B[i] [j])+««;
}
Memo1->Lines->Add (p);
}
Memo1->Lines->Add (««);
Memo1->Lines->Add («ΠΠΎΡΠ½ΠΈ Π‘ΠΠΠ£ ΡΠ°Π²Π½Ρ:«);
for (int i=0; i; i++)
{
if (X[i]≠NULL)
{
Memo1->Lines->Add («x»+IntToStr (i+1)+" = «+FloatToStr (X[i]));
}
else
{
Memo1->Lines->Add («ΠΠ΅Ρ ΠΊΠΎΡΠ½Π΅ΠΉ!«);
break;
}
}
Memo1->Lines->Add (««);
Memo1->Lines->Add («ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ = «+FloatToStr (k));
}
}
// -
void __fastcall TForm1: ButtonExitClick (TObject *Sender)
{
Close ();
}
// -
void __fastcall TForm1: RadioButton2Click (TObject *Sender)
{
ButtonYakobi->Visible=false;
ButtonZeydel->Visible=true;
ButtonRelax->Visible=false;
}
// -
void __fastcall TForm1: RadioButton1Click (TObject *Sender)
{
ButtonYakobi->Visible=true;
ButtonZeydel->Visible=false;
ButtonRelax->Visible=false;
}
// -
void __fastcall TForm1: ButtonZeydelClick (TObject *Sender)
{
Memo1->Lines->Clear ();
k=0;
e=StrToFloat (Edit2->Text);
for (int i=0; i; i++)
{
for (int j=0; j; j++)
{
TryStrToFloat (StringGrid1->Cells[j] [i], A[i] [j]);
}
}
for (int i=0; i; i++)
{
for (int j=0; j; j++)
{
if (A[i] [j]==NULL)
{
ShowMessage («ΠΡΠΈΠ±ΠΊΠ°! ΠΡΡΡ ΠΏΡΡΡΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ!«);
fl1=true;
i=n;
break;
}
}
}
if (! fl1) {
for (int i=0; i; i++)
{
for (int j=0; j; j++)
{
if (i!=j) B[i] [j]=(-1)*A[i] [j]/A[i] [i];
else
{
B[i] [j]=0;
C[i]=A[i] [n]/A[i] [i];
}
}
}
for (int i=0; i; i++)
{
X[i]=rand ();
}
k=0;
float s=0;
for (int i=0; i; i++)
{
for (int j=0; j; j++)
{
s+=B[i] [j];
}
Y[i]=s;
s=0;
}
s=Y[0];
for (int i=1; i; i++)
{
if (s<Y[i]) s=Y[i];
Y[i]=0;
}
if (s<1)
{
do
{
s=0;
for (int i=0; i; i++)
{
Y[i]=X[i];
}
for (int i=0; i; i++)
{
s=C[i];
for (int j=0; j; j++)
{
s+=X[j]*B[i] [j];
}
X[i]=s;
}
prov=0;
for (int i=0; i; i++)
{
if (fabs (X[i] — Y[i])
}
k++;
}
while (prov!=n);
Memo1->Lines->Add (" ΠΠΠ’ΠΠ ΠΠΠΠΠΠΠ―«);
Memo1->Lines->Add (««);
String p=««;
Memo1->Lines->Add («ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°:«);
for (int i=0; i; i++)
{
p=««;
for (int j=0; j; j++)
{
p+=FloatToStr (B[i] [j])+««;
}
Memo1->Lines->Add (p);
}
Memo1->Lines->Add (««);
Memo1->Lines->Add («ΠΠΎΡΠ½ΠΈ Π‘ΠΠΠ£ ΡΠ°Π²Π½Ρ:«);
for (int i=0; i; i++)
{
if (X[i]≠NULL)
{
Memo1->Lines->Add («x»+IntToStr (i+1)+" = «+FloatToStr (X[i]));
}
else
{
Memo1->Lines->Add («ΠΠ΅Ρ ΠΊΠΎΡΠ½Π΅ΠΉ!«);
break;
}
}
Memo1->Lines->Add (««);
Memo1->Lines->Add («ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ = «+FloatToStr (k));
}
else {Memo1->Lines->Add («Π‘ΠΠΠ£ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΠΉ!«);}
}
}
// -
void __fastcall TForm1: RadioButton3Click (TObject *Sender)
{
ButtonYakobi->Visible=false;
ButtonZeydel->Visible=false;
ButtonRelax->Visible=true;
}
// -
void __fastcall TForm1: ButtonRelaxClick (TObject *Sender)
{
//TryStrToFloat (Edit2->Text, e);
v_sh=StrToFloat (Edit3->Text);
e=StrToFloat (Edit2->Text);
Memo1->Lines->Clear ();
k=0;
for (int i=0; i; i++)
{
for (int j=0; j; j++)
{
TryStrToFloat (StringGrid1->Cells[j] [i], A[i] [j]);
}
}
for (int i=0; i; i++)
{
for (int j=0; j; j++)
{
if (A[i] [j]==NULL)
{
ShowMessage («ΠΡΠΈΠ±ΠΊΠ°! ΠΡΡΡ ΠΏΡΡΡΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ!«);
fl1=true;
i=n;
break;
}
}
}
if (! fl1) {
float vsp=0, alp=0;
for (int i=0; i; i++)
{
for (int j=0; j; j++)
{
if (i!=j) B[i] [j]=(-1)*A[i] [j]/A[i] [i];
else
{
B[i] [j]=0;
C[i]=A[i] [n]/A[i] [i];
}
}
}
float *sq_z=new float[n];
float *sq_y=new float[n];
for (int i=0; i; i++)
{
sq_z[i]=rand ();
}
for (int i=0; i; i++) sq_y[i]=C[i];
for (int i=0; i; i++) X[i]=0;
vsp=C[0];
for (int j=0; j; j++)
{
vsp+=sq_z[j]*B[0] [j];
}
sq_z[0]=vsp;
for (int i=0; i; i++)
{
for (int j=0; j; j++)
{
vsp+=B[i] [j];
}
Y[i]=vsp;
vsp=0;
}
vsp=Y[0];
for (int i=1; i; i++)
{
if (vsp<Y[i]) vsp=Y[i];
Y[i]=0;
}
if (vsp<1)
{
do
{
for (int i=0; i; i++)
{
Y[i]=X[i];
}
for (int i=0; i; i++)
{
vsp=C[i];
for (int j=0; j; j++)
{
vsp+=sq_z[j]*B[i] [j];
alp+=B[i] [j]*sq_y[i];
}
sq_z[i]=vsp;
sq_y[i]=alp+C[i];
vsp=0;
alp=0;
X[i]=v_sh*sq_z[i]+(1-v_sh)*sq_y[i];
}
prov=0;
for (int i=0; i; i++)
{
if (fabs (X[i] — Y[i])
}
k++;
}
while (prov!=n);
Memo1->Lines->Add (" ΠΠΠ’ΠΠ ΠΠΠ Π₯ΠΠΠ Π ΠΠΠΠΠ‘ΠΠ¦ΠΠ«);
Memo1->Lines->Add (««);
String p=««;
Memo1->Lines->Add («ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°:«);
for (int i=0; i; i++)
{
p=««;
for (int j=0; j; j++)
{
p+=FloatToStr (B[i] [j])+««;
}
Memo1->Lines->Add (p);
}
Memo1->Lines->Add (««);
Memo1->Lines->Add («ΠΠΎΡΠ½ΠΈ Π‘ΠΠΠ£ ΡΠ°Π²Π½Ρ:«);
for (int i=0; i; i++)
{
if (X[i]≠NULL)
{
Memo1->Lines->Add («x»+IntToStr (i+1)+" = «+FloatToStr (X[i]));
}
else
{
Memo1->Lines->Add («ΠΠ΅Ρ ΠΊΠΎΡΠ½Π΅ΠΉ!«);
break;
}
}
Memo1->Lines->Add (««);
Memo1->Lines->Add («ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ = «+FloatToStr (k));
}
else {Memo1->Lines->Add («Π‘ΠΠΠ£ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΠΉ!«);}
}
}
// -
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°ΡΡΠ΅ΡΠ°
ΠΠΠ’ΠΠ Π―ΠΠΠΠ | ΠΠΠ’ΠΠ ΠΠΠΠΠΠΠ― | ΠΠΠ’ΠΠ ΠΠΠ Π₯ΠΠΠ Π ΠΠΠΠΠ‘ΠΠ¦ΠΠ | |
ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°: 0 -0,100 000 001 490 -0,100 000 001 490 0 -0,200 000 002 980 0 -0,100 000 001 490 0 -0,200 000 002 980 -0,200 000 002 980 0 0 ΠΠΎΡΠ½ΠΈ Π‘ΠΠΠ£ ΡΠ°Π²Π½Ρ: x1 = 1 x2 = 1 x3 = 1,11 920 929 ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ = 16 | ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°: 0 -0,100 000 001 490 -0,100 000 001 490 0 -0,200 000 002 980 0 -0,100 000 001 490 0 -0,200 000 002 980 -0,200 000 002 980 0 0 ΠΠΎΡΠ½ΠΈ Π‘ΠΠΠ£ ΡΠ°Π²Π½Ρ: x1 = 1 x2 = 0,99 999 988 079 071 x3 = 0,999 999 940 395 355 ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ = 9 | ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°: 0 -0,100 000 001 490 -0,100 000 001 490 0 -0,200 000 002 980 0 -0,100 000 001 490 0 -0,200 000 002 980 -0,200 000 002 980 0 0 ΠΠΎΡΠ½ΠΈ Π‘ΠΠΠ£ ΡΠ°Π²Π½Ρ: x1 = 1,11 920 929 x2 = 0,99 999 988 079 071 x3 = 0,999 999 940 395 355 w=1 ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ = 9 | |