MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Tue Feb 17 15:07:10 2004 IM0jnykomy8ipndp Bs<ysG% ******************* MATEMATICK SEMIN . 3 ************************h8% 3.1 SUBMATICE A INDEXOVN4h% 3.2 SUBMATICE NA LEV STRAN PIAZOVACHO PKAZU0%P% Copyright (C) 1996-2003 by V. Vesel (Masaryk University Brno, Czech Republic)0%.\% Dvka je kompletn upravena pro menu-systm.0@echo on@more onPformat compact8clcG%======================================================================h8% 3.1 SUBMATICE A INDEXOVNG%----------------------------------------------------------------------H%% v(r) ... subvektor vektoru v uren vetn poad vektorem index rh6%% A(r,s) ... submatice v AD%% r=vektor dkovch index, s=vektor sloupcovch indexF%% za r nebo s lze dosadit tak indiktorov vektor z 0 a 1'N%% A(r,:) ... dky r a vechny sloupce'N%% A(:,s) ... vechny dky a sloupce sH %% A(:,:)=A*T A=(1:10)'*(1:8), % tedy mme A(r,s)=r*s1b% vyzkoume vytvoit novou matici pomoc index:`0 S=A([1,3,5,7],[3,7,8])@ pause;H % nebo takX( S=A(1:2:7,[3,7,8])@ pause;H % nebo takE S=A(logical([1 0 1 0 1 0 1 0 0 0]),logical([0 0 1 0 0 0 1 1])) %J% speciln r nebo s me bt skalr:C A(3,7), % jeden prvek matice A ve 3. dku a 7. sloupcix"D r4=A(4,:) % 4. dek Ax"D s6=A(:,6) % 6. sloupec AL Aperm=A(10:-1:1,:) % dkov permutovan matice (dky v obrcenm poad)H keyboard;0H%% A(:) ... sloupce matice A naskldan poad pod sebe do sl. vektoru>|%% (matematick operace obvykle znaen jako vec A)4h%% odpovd uloen prvku matice v pamti&L%% A(r) ... tot jako: v=A(:); v(r)J%% A d./sl. vektor => vbr d./sl. subvektoru na pozicch rX&%% A=reshape(v,m,n)K%% reshape(v,[m,n]) ... opak k A(:) - z d. nebo sl. vektoru v dlky m*nE%% vytvo matici A typu m x n, pro n v=A(:)p: u=1:30 % vytvome vektor uG v=reshape(u,length(u),1) % transponuje dkov vektor u na sloupcov@ pause;8p u(1:2:length(u)) % subvektor s lichmi indexy8p u(2:2:length(u)) % subvektor se sudmi indexy@ pause;%J% vektor v peuspodme do matice `* A1=reshape(v,2,15) @% a zpt@ A1(:)@ pause;`, A2=reshape(v,[3,10])`0 A2=reshape(v,size(A2))@ A2(4)@ pause;X$ A=reshape(u,5,6)H  A([4,8])H keyboard;0G%======================================================================4h% 3.2 SUBMATICE NA LEV STRAN PIAZOVACHO PKAZUG%----------------------------------------------------------------------A%% v(r)=b ... pepis vektoru v vektorem b na pozicch indexu r E%% A(r,s)=B ... Submatice A na pozicch urench vektory indexu r a sK%% se pepe prvky matice B (B je typu length(r) x length(s))H%% Jestlie nkter pozice prvk jdou mimo stvajc rozmrB%% matice A, pak A se automaticky zvt na potebnou)R%% velikost a dopln nulami.P %% Analogicky8p%% A(r,:)=B ... pepis na dcch r a ve vech sloupcch(P%% B=[] => odstran dky r8p%% A(:,s)=B ... pepis ve vech dcch a ve sloupcch s*T%% B=[] => odstran sloupce sF%% A(r)=b ... pepis prvku na libovolnch pozicch v uspodn A(:)M%% A(r)=b, b neprzdn <=> v=A(:); v(r)=b; A=reshape(v,size(A));<x%% A(r)=[] <=> v=A(:); v(r)=[]; A=v0@ u=1:30X$ A=reshape(u,5,6)x!B A(5,:)=[] % Smaeme 5. dekp: A(:,6)=[] % a 6. sloupec@ pause;h2 A([1,3],[2,3])=zeros(2)?~% nebo tak jednodueji lze uvst na prav stran jen skalr 0:X$ A([1,3],[2,3])=0@ pause;H  A(5,6)=-1@ pause;@ A(logical([1 0 1 0 0]),logical([0 1 1 0 0 0]))=-ones(2) %J% speciln r nebo s me bt skalr:L A(3,5)=1000, % pepis prvku matice A ve 3. dku a 5. sloupci@ pause;3f A(4,:)=100*ones(1,size(A,2)) % pepis 4. dku A@ pause;J A(:,6)=100 % pepis 6. sloupce A jednodueji skalrem@ pause;0G%----------------------------------------------------------------------1b% Pklad na pepis prvk na libovolnch pozicch0`% Chceme obrtit znamnka prvk A(2,1) a A(1,2):X( A=reshape(1:6,2,3)p< P(2,1)=1, P(1,2)=1, P(1,3)=0?~% Pedchoz 3 pkazy tikrt realokuj matici na vt rozmr,`0% proto lep postup je:F P=zeros(size(A)); P(2,1)=1, P(1,2)=1, P=logical(P) A A(P(:))=-A(P(:)) % Obrcen znamnka prvk A(2,1) a A(1,2)H keyboard;0G%================================= KONEC ==============================0%0%0%%@more off@echo off00cpk