C++ Bc. 32: Porovnání verzí
m (- kategorie C++) |
(zjednodusena verze tridy chyba) |
||
(Nejsou zobrazeny 3 mezilehlé verze od 2 dalších uživatelů.) | |||
Řádek 1: | Řádek 1: | ||
Napište funkci <tt>reseni()</tt>, která pro zadanou dolní 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 dolní 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 | ||
{ | { | ||
Chyba(std::string t) : text(t) {} | |||
std::string text; | std::string text; | ||
Řádek 24: | Řádek 26: | ||
\end{pmatrix} | \end{pmatrix} | ||
</math> | </math> | ||
'''Řešení (přímá substituce):''' | '''Řešení (přímá substituce):''' | ||
Řádek 34: | Řádek 35: | ||
<math>x_{3} = (b_{3} - t_{31}x_{1} - t_{32}x_{2})/t_{33}\,</math> | <math>x_{3} = (b_{3} - t_{31}x_{1} - t_{32}x_{2})/t_{33}\,</math> | ||
<math>x_{k} = (b_{k} - \sum^{j= | <math>x_{k} = (b_{k} - \sum^{k-1}_{j=1} t_{k,j}x_{j})/t_{k,k}\,</math> | ||
'''Příklad:''' | '''Příklad:''' | ||
Řádek 54: | Řádek 54: | ||
\end{pmatrix}\qquad | \end{pmatrix}\qquad | ||
</math> | </math> | ||
[ [[C++ Bc.|Zpět]] | [[C++ Bc. 32 cpp |C++]] | [[C++ Bc. 33|Další]] ] | [ [[C++ Bc.|Zpět]] | [[C++ Bc. 32 cpp |C++]] | [[C++ Bc. 33|Další]] ] | ||
[[Kategorie:Programování]] | [[Kategorie:Programování]] |
Aktuální verze z 8. 12. 2006, 15:43
- Řešení soustavy lineárních rovnic
Napište funkci reseni(), která pro zadanou dolní 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 dolní trojúhelníkové matici jsou všechny prvky nad hlavní diagonalou nulové, všechny prvky na hlavní diagonále jsou nenulové.
Řešení (přímá substituce):
Příklad: