C++ Bc. 4: Porovnání verzí
mBez shrnutí editace |
chyba v indexech sumeace ve vzorečku |
||
(Nejsou zobrazeny 2 mezilehlé verze od stejného uživatele.) | |||
Řádek 5: | Řádek 5: | ||
struct Chyba | struct Chyba | ||
{ | { | ||
Chyba(std::string t) : text(t) {} | |||
std::string text; | std::string text; | ||
Řádek 28: | Řádek 28: | ||
'''Řešení (zpětná | '''Řešení (zpětná substituce):''' | ||
<math>x_{ n } = b_n/t_{nn}\,</math> | <math>x_{ n } = b_n/t_{nn}\,</math> | ||
Řádek 36: | Řádek 36: | ||
<math>x_{n-2} = (b_{n-2} - t_{n-2,n-1}x_{n-1} - t_{n-2, n }x_{ n })/t_{n-2,n-2}\,</math> | <math>x_{n-2} = (b_{n-2} - t_{n-2,n-1}x_{n-1} - t_{n-2, n }x_{ n })/t_{n-2,n-2}\,</math> | ||
<math>x_{n-k} = (b_{n-k} - \sum^ | <math>x_{n-k} = (b_{n-k} - \sum^n_{j=n-k+1} t_{n-k,j}x_{j})/t_{n-k,n-k}\,</math> | ||
'''Příklad:''' | '''Příklad:''' |
Aktuální verze z 3. 12. 2008, 15:44
- Řešení soustavy lineárních rovnic
Napište funkci reseni(), která pro zadanou horní trojúhelníkovou matici a vektor vypočte řešení soustavy lineárních rovnic . Funkce reseni() přepisuje vstupní vektor (pravou stranu) vypočteným řešením a testuje všechny možné chyby (nepřípustné dimenze a nulu na hlavní diagonále).
struct Chyba { Chyba(std::string t) : text(t) {} std::string text; }; void reseni(const GNU_gama::Mat<>& U, GNU_gama::Vec<>& x);
V horní trojúhelníkové matici jsou všechny prvky pod hlavní diagonalou nulové, všechny prvky na hlavní diagonále jsou nenulové.
Řešení (zpětná substituce):
Příklad: