C++ Bc. 4: Porovnání verzí
Bez shrnutí editace |
m preklep, \, v math |
||
Řá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.}</math> Funkce <tt>reseni()</tt> přepisuje vstupní vektor (pravou stranu) vypočteným řešením <math>x</math> a testuje | 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 28: | Řádek 28: | ||
'''Řešení:''' | '''Řešení:''' | ||
<math>x_{ n } = b_n/t_{nn}</math> | <math>x_{ n } = b_n/t_{nn}\,</math> | ||
<math>x_{n-1} = (b_{n-1} - t_{ n }x_{ n })/t_{n-1}</math> | <math>x_{n-1} = (b_{n-1} - t_{ n }x_{ n })/t_{n-1}\,</math> | ||
<math>x_{n-2} = (b_{n-2} - t_{n-1}x_{n-1} - t_{ n }x_{ n })/t_{n-1}</math> | <math>x_{n-2} = (b_{n-2} - t_{n-1}x_{n-1} - t_{ n }x_{ n })/t_{n-1}\,</math> | ||
<math>x_{n-k} = (b_{n-k} - \sum^1_{j=n-k-1} t_{j}x_{j})/t_{n-k}</math> | <math>x_{n-k} = (b_{n-k} - \sum^1_{j=n-k-1} t_{j}x_{j})/t_{n-k}\,</math> | ||
Verze z 12. 3. 2006, 09:19
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í:
Příklad: