Programovací jazyk C++ cvičení - příklad práce s maticemi a vektory
[ Zpět na plán cvičení - knihovna matvec ]
Příklad několika základních operací s maticemi a vektory.
#include <iostream> #include <matvec/matvec.h> // 1 using namespace GNU_gama; // 3 int main() { GNU_gama::Mat<> T; // 2 Mat<> U; // 4 Mat<> A(3,2); // 5 Mat<> B(2,2); // 6 A = // 7 1.1, 2.4, 3.2, 4.5, 5.3, 6.6; B = 0.221, 0.331, 0.441, 0.551; std::cout << A << B; Mat<> C = A*B; std::cout << C; Mat<> D = trans(C)*C; std::cout << D << inv(D); Vec<> b(2); // 8 b = 1, 2; std::cout << trans(b); Vec<> x = inv(D)*b; std::cout << x << "\n????\n" << b-D*x; // soucet dvou vektoru Vec<> z(x.dim()); for (int i=1; i<= z.dim(); i++) { z(i) = b(i) + x(i); } std::cout << "z = " <<z << " kontrola =" << b+x-z; // soucin matice*vektor : w = D*z; Vec<> w(D.rows()); for (int r=1; r<=w.dim(); r++) // cyklus pro vsechny radky { double sum=0; for (int s=1; s<=D.cols(); s++) { sum += D(r,s)*z(s); } w(r) = sum; } std::cout << w << "\nkontrola " << w - D*z; }