Navod na pouzitie class-u matrix ================================ 1) Definicia matice ---------------- Maticu (vektor) mozno definovat niekolkymi sposobmi: a) matrix Meno_matice ( int riadky<,int stlpce<,double hodnota>> ); Pr.: matrix A(3,3) - vytvori maticu 3x3 a inicializuje sa hodnotou 0 matrix B(1,4,125) - vytvori vektor 1x4 a inicializuje ho hodnotou 125 matrix C(8) - vytvori vektor 8x1 a inicializuje ho hodnotou 0 b) matrix Meno_matice ( int riadky, int stlpce, double *pole_hodnot ); Pr.: double dd[] = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9 }; matrix E(3,3,dd); - vytvori maticu 3x3 a inicializuje ju hodnotami z pola dd c) matrix Meno_matice ( "I", int rozmer ); Pr.: matrix D("I",3) - vytvori jednotkovu maticu o rozmere 3x3 d) matrix Meno_matice (char *meno_suboru); subor obsahujuci hodnoty prvkov matice ma nasledujuci format: # # . komentare . # rows=3 columns=3 ::: 1.1 2.2 3.3 4.4 5.5 -6.6 7.7 -8.8 9.9 hodnoty v subore musia byt oddelene aspon jednou medzerou Pr.: matrix F("data.dat"); 2) Maticove operacie ----------------- pre pracu s class-om matrix su definovane nasledujuce operacie ( pre rozmery operandov platia standardne pravidla ) operator nazov Priklad (A-matica, a-skalar) ------------------------------------------------------------------- = priradenie A = B + maticove scitanie C = A + B + skalarne scitanie C = A + a C[i,j]=A[i,j]+a - maticove odcitanie C = A - B - skalarne odcitanie C = A - a - unarne minus C = -A * maticove nasobenie C = A * B * skalarne nasobenie C = A * a 3) Maticove funkcie ---------------- manipulaciu s maticami umoznuju nasledujuce funkcie a) double &val( int riadok, int stlpec ); umoznuje pristup k jednotlivym prvkom matice, kontroluje index s rozmerom matice Pr.: A.val(2,1) = 1.234; a = A.val(1,2); b) double mmin(); vyhlada najmensi element matice Pr.: a = A.mmin(); c) double mmax(); vyhlada najvacsi element matice Pr.: a = A.mmax(); d) double mean(); vypocita aritmeticky priemer z prvkov matice Pr.: a = A.mean(); e) double variance(); vypocita strednu odchylku prvkov matice od aritmetickeho priemeru prvkov Pr.: a = A.variance(); f) matrix transpose(); vytvori transponovanu maticu (povodna matice sa nemeni) Pr.: B = A.transpose(); g) matrix inverse(); vytvori inverznu maticu ( povodna matica sa nemeni ) Pr.: B = A.inverse(); h) double determinant(); vypocita determinant matice Pr.: a = A.determinant(); 4) Pomocne funkcie --------------- funkcie urcene pre vystup matice do suboru a na display a) void write_standard( char *meno_suboru, char *text); zapise maticu do suboru v "standardnom" tvare, text sa ulozi do komentarov Pr.: A.write_standard("data.dat","Vysledok vypoctu matice rotacie"); b) void print(char *text); vytlaci text a maticu na display Pr.: A.print("matica A");