format short echo on % % Uvod do Matlabu 2 % Operace s maticemi % % Skript spousti jednotlive prikazy, ktere predtim zobrazi, mezi % prikazy jsou vlozeny pauzy, aby bylo videt, jak prikazy funguji. % Nektere prikazy jsou doprovozeny vysvetlijici komentari. % Pro pokracovani staci stisknout libovolnou klavesu. % Skript je mozne kdykoliv prerusit stiskem CTRL+C. pause % definujeme nekolik matic a vektoru pause A=[2 0 1 4; 1 1 4 -2] A1=[1,-1,2,-3; 3,0,4,5] u=[1 2 3 4] O=ones(3) pause A+A1,A-A1 % scitani a odcitani matic pause A+4 % pricteni konstanty pause 3*A % nasobeni matice cislem pause B=A' % transpozice pause A*B,B*A % nasobeni matic, dva prikazy na jednom radku pause % A*A1 % tohle nejde kvuli spatnym rozmerum pause A.*A1 % nasobeni po slozkach pause u*B % nasobeni vektoru a matice pause O^2 % totez jako O*O pause O.^2 % totez jako O.*O pause A.^4 % umocneni kazde slozky pause % Nasleduji prikaz 'keyboard', kterym se zapne tzv. klavesnicovy mod. % V jeho ramci je mozne zkouset si prikazy. Mozna se zobrazi editor s timto % skriptem, muzete to ignorovat a prepnout se zpet do prikazoveho okna Matlabu. % Pro pokracovani skriptu zadejte prikaz 'dbcont'. keyboard clc % % Logicke operace % pause A,A1 % definovane matice pause A==4 % porovnani s konstantou pause A==A1 % porovnani dvou matic (na rovnost prvku) pause A<=A1 pause (A==4)|(A<=A1) % konjukce (or) pause (A==4)&(A<=A1) % disjunkce (and) pause ~A % negace pause ~A==4 pause ~(A==4) % zavorky jsou dulezite pause find(A==4) % nalezeni prvku s danou vlastnosti, % indexy se berou postupne po sloupcich pause [i1,i2]=find(A==4) % i1 - radkove indexy, i2 - sloupcove indexy pause % % Nasleduje prikaz 'keyboard', pro pokracovani skriptu zadejte prikaz 'dbcont'. keyboard clc % % Maticove deleni % pause A=[1 2 0; -1 3 1; 4 2 -1] pause IA=inv(A) % matice A je regularni pause B=[3 5 1; 1 -1 4; 2 0 1] pause B./A % deleni po jednotlivych prvcich, pri deleni nulou dostaneme inf pause A.\B % leve deleni po jednotlivych prvcich, stejny vysledek jako u predch. prikazu pause B/A % reseni rovnice X*A=B pause B*inv(A) % stejny vysledek pause A\B % reseni rovnice A*X=B pause inv(A)*B % stejny vysledek pause A1 % funguje to i pro obdelnikove matice, ale inverzi tady nelze pouzit X=A1\[1 1;2 3] % X je reseni rovnice A1*X=[1 1;2 3] pause A1*X % overeni pause % Nasleduje prikaz 'keyboard', pro pokracovani skriptu zadejte prikaz 'dbcont'. keyboard clc % % Dalsi maticove operace % pause A pause diag(A) % vytahneme hlavni diagonalu pause diag(A,1) % nebo se posuneme nahoru ci dolu pause diag(A,-1) pause u pause diag(u) % diagonalni matice z vektoru pause diag(diag(A)) % dvojite pouziti prikazu diag pause tril(A) % dolni trojuhelnikova submatice pause triu(A) % horni trojuhelnikova submatice pause tril(A,-1) % dolni trojuhelnikova submatice s posunem pause A max(A),min(A) % maximum a minimum, operace pracuji po sloupcich pause max(max(A)) % maximalni prvek matice pause sum(A),prod(A) % operace take pracuji po sloupcich pause sum(sum(A)) % soucet vsech prvku matice pause % Nasleduje prikaz 'keyboard', pro pokracovani skriptu zadejte prikaz 'dbcont'. keyboard clc % % Zaokrouhlovani % pause x=-1:0.25:1 pause round(x) % klasicke zaokrouhleni pause floor(x) % zaokrouhleni dolu pause ceil(x) % zaokrouhleni nahoru pause fix(x) % zaokrouhleni k nule pause % Nasleduje prikaz 'keyboard', pro pokracovani skriptu zadejte prikaz 'dbcont'. keyboard clc % % Nektere konstanty % pause format long pi % Ludolfovo cislo pause eps % nejmensi cislo, pro ktere numericky 1+x>1 pause 1+eps % cislo neni presne 1, ale rozril je tak maly, ze se nezobrazi pause 1+eps/2 % vysledek je presne 1 pause realmax % maximalni realne cislo pause realmin % minimalni nenulove normalizovane realne cislo pause 1/0 % nekonecno pause -1/0 % -nekonecno pause 0/0 % neurcity vyraz (Not a Number) pause % Nasleduje prikaz 'keyboard', pro pokracovani skriptu zadejte prikaz 'dbcont'. keyboard clc echo off format short clear all