170 likes | 350 Views
Gaussova elimin ácia v Pascale. Sústava lineárnych rovníc. množina lineárnych rovníc, napr. x1 – x2 – x3 = 6 -2x1 + x2 + 3x3 = –5 3x1 + 2x2 + x3 = 1 Riešenie sústavy - priradenie čísel neznámym tak, aby zároveň vyhovovalo všetkým rovniciam, v tomto prípade x1 = 3, x2 = –5, x3 = 2.
E N D
Sústava lineárnych rovníc • množina lineárnych rovníc, napr. x1 – x2 – x3 = 6 -2x1 + x2 + 3x3 = –5 3x1 + 2x2 + x3 = 1 • Riešenie sústavy - priradenie čísel neznámym tak, aby zároveň vyhovovalo všetkým rovniciam, v tomto prípade x1 = 3, x2 = –5, x3 = 2
Všeobecný zápis a11x1 + a12x2 + … + a1nxn = b1 a21x1 + a22x2 + … + a2nxn = b2 : : am1x1 + am2x2 + … + amnxn = bm • x1 až xn sú neznáme, a11 až amn sú koeficienty sústavy rovníc. Čísla b1 až bm sú absolútne členy sústavy, tiež aj pravá strana sústavy
Zjednodušený zápis – zápis pomocou koeficientov v tzv. rozšírenej matici sústavy; výhodný pri riešení úloh
Gaussova eliminácia • metóda exaktného riešenia sústavy lineárnych algebraických rovníc • Úlohou upraviť maticu najprv na trojuholníkový, následne na uhlopriečkový tvar pôvodná matica trojuholníkový tvar uhlopriečkový tvar
Povolené úpravy: • Vzájomná výmena dvoch celých riadkov • Násobenie riadku nenulovým reálnym číslom • Pripočítanie násobku niektorého riadku ku inému riadku
odpočítame od druhého riadku (-2)-násobok prvého a od tretieho 3-násobok prvého • odčítame (-5)-násobok druhého riadku od tretieho
dosadíme už známu hodnotu xn do riadku vyššie, kde získame hodnotu ďalšej neznámej, pokračujeme až pokým nevyjadríme všetky neznáme
Počet riešení sústavy • Nekonečne veľa riešení • Jediné riešenie • Žiadne riešenie
Pri lineárne nezávislých rovniciach väčšinou platí: • Menej rovníc ako neznámych (m < n) => nekonečne veľa riešení • Rovnaký počet revníc ako neznámych (m = n)=> jediné riešenie • Viac rovníc kao neznámych (m > n) => žiadne riešenie
Geometrická interpretácia: Rovnice tu predstavujú rovnice priamok • všetky body priamky zodpovedajú všetkým rovniciam • obom rovniciam zodpovedá jediný bod • všetkým rovniciam nezodpovedá naraz ani jeden bod
V prípade rovnakého počtu rovníc ako neznámych a lineárnej závislosti rovníc • „0x = 0“ => nekonečne veľa riešení • „0x = k, k <> 0“ => žiadne riešenie
Vytvorenie programu • Deklarácia premenných • Pascalovská funkcia „matica“ • Úprava sústavy zmenou poradia riadkov • Vlastná Gaussova eliminácia • Hlavný program
Deklarácia premenných • Globálne premenné • r, s: array [1..33, 1..32] of real – r – daná matica, s ktorou sa v s pracuje
v: array [1..32] of real – riešenia sústavy, v tvare x1 x2 x3 ... x(n-1) xn • n : byte – prirodzené číslo reprezentuje počet rovníc • i, j, k, m: integer – pomocné premenné, použité na rôznych miestach
Lokálne premenné funckie „matica“ • p: real – pomocná premenná; číslo, ktorým bude vynásobený riadok pri odčitávaní iného riadku • b, d: boolean – booleovské premenné použité pri vymieňaní riadkov na určenie, či je sústava vhodne upravená • t: array [1..33] of real – pomocné pole použité pri výmene dvoch riadkov • label 1 – použitý na skok pri nemožnosti výpočtu na skok na koniec funkcie