C++ Bc. 4: Porovnání verzí
mBez shrnutí editace |
mBez shrnutí editace |
||
Řádek 1: | Řádek 1: | ||
Napište funkci <tt>reseni()</tt>, která pro zadanou horní trojúhelníkovou matici <math>\mathbf T</math> a vektor <math>\mathbf b</math> vypočte řešení soustavy lineárních rovnic <math>\mathbf {T x = b | ;Řešení soustavy lineárních rovnic | ||
Napište funkci <tt>reseni()</tt>, která pro zadanou horní trojúhelníkovou matici <math>\mathbf T</math> a vektor <math>\mathbf b</math> vypočte řešení soustavy lineárních rovnic <math>\mathbf {T x = b}</math>. Funkce <tt>reseni()</tt> přepisuje vstupní vektor (pravou stranu) vypočteným řešením <math>x</math> a testuje všechny možné chyby (nepřípustné dimenze a nulu na hlavní diagonále). | |||
struct Chyba | struct Chyba | ||
Řádek 35: | Řádek 37: | ||
<math>x_{n-k} = (b_{n-k} - \sum^1_{j=n-k-1} t_{n-k,j}x_{j})/t_{n-k,n-k}\,</math> | <math>x_{n-k} = (b_{n-k} - \sum^1_{j=n-k-1} t_{n-k,j}x_{j})/t_{n-k,n-k}\,</math> | ||
'''Příklad:''' | '''Příklad:''' |
Verze z 10. 10. 2006, 20:38
- Ř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 { template <typename T> Chyba(T 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á sunstituce):
Příklad: