Modelováí ve výpočtových software. cvičeí vstup/výstup dat v růzých formátech, operace s maticemi, matematické fukce ) vstup/výstup dat (biárí MAT, textový ASCII) save fileame load fileame save fileame D save fileame D ASCII ukázka použití systému ápovědy: jak zapsat data ve formátu Excel? lookfor spreadsheet help xlsread help xlswrite vytvořit matici A=rad(0,3); uložit do souboru.xls xlswrite('soubxls',a,'b:d') v Excelu otevřít a přepočítat, zovu uložit použití Import Wizard pravým tlačítkem z oka Curret Direktory příkaz uiimport (spustí GUI Import Wizard) ačteí textu (růzé oddělovače desetié části a jedotlivých čísel) zkopírovat soubory z cv0 do aktuálího adresáře ebo použít GUI Import Wizard data0.txt semilogaritmický tvar, oddělovač desetié části tečka, oddělovač mezera data0.txt text, oddělovač desetié části tečka, oddělovač středík data03.txt text, oddělovač desetié části čárka, oddělovač středík ačteí souboru Excelu.XLS (ačteí vytvořeého souboru soubxls.xls) ačteí zvukového souboru.wav ačteí obrazového (bitmapa, 4 bit barva = 3 byte a bod) souboru.jpg,.tif,.png ) speciálí vstup/výstup dat (ízkoúrovňové fukce, stadardí formáty) help iofu sezam základích fukcí pro práci se soubory help audiovideo sezam fukcí pro práci s multimediálími soubory Fukce pro práci s obrázky imformats imfifo exifread imread/imwrite image Fukce pro práci se zvukem audiodevifo mmfileifo aviifo wavfifo iformace o podporovaých formátech a fukcích iformace o formátu souboru iformace z EXIF (JPG, TIFF) čteí/zápis dat souboru do/z proměé MATLABu zobrazeí iformace o HW iformace o multimediálím souboru iformace o Audio/Video Iterleaved (AVI) souboru iformace o WAV souboru (Widows)
wavplay/soud wavrecord wavread/wavwrite přehrát data zázam zvuku do proměé čteí/zápis dat souboru do/z proměé MATLABu Příklad : ukázka použití systému ápovědy: jak přečíst, zpracovat a zapsat data ve formátu Excel? lookfor spreadsheet help xlsread help xlswrite Postup: v Excelu vytvořit čtvercovou matici áhodých čísel, převést a hodoty, vypočítat iverzi. Původí matici ačíst ze sešitu Excelu do MATLABu, spočítat iverzi a vložit do sešitu. Excel: fukce NÁHČÍSLO, Vložit jiak Hodoty, INVERZE (F + Ctrl_Shift_Eter pole vzorců) MATLAB: M=xlsread('soubor'); ačti vše včetě eexistujících čísel M=xlsread('soubor','LH:RD'); ačti hodoty z vybraé oblasti M=xlsread('soubor',-); ačti hodoty z iteraktivě vybraé oblasti Miv(M); xlswrite('soubor',mi,'lh:rd'); zápis proměé do určeé oblasti Příklad : vytvořit vektor časů vzorkováí v délce sekudy (vzorkovací frekvece 050 Hz) v MATLABu, přeést do sešitu Excelu, spočítat siusový sigál o frekveci zadaé v Excelu (440 Hz), přeést zpět a sigál přehrát fs=050; t=0:/fs:; t=t'; % časové vzorky - sloupec xlswrite('soubor',t,'b3:b4404'); zápis proměé do určeé oblasti v Excelu vypočítat sloupec vedle jako si(*pi*440*t) y=xlsread('soubor','c3:c4403'); % vyčíst vlastí sigál wavplay(y,fs); 3) operace s maticemi ukázka použití příkazů: help elmat a) opakováí plěí matic y=eye(4) y=zeros(3) y=oes(,4) a=[ ] b=[3; 4] c=[a b] c=[a b'] c=[a; b'] c' b) zjišťováí rozměrů size(y) legth(y) y disp(y) % chyba % traspozice, výsledek řádkový vektor % traspozice, výsledek matice % traspozice % počet řádků, sloupců % vrátí delší rozměr % vypsáí proměé % zobrazeí pole c) ásobeí matic
c=a*b c=b*a d=c*c d=c.*c d) mocěí matic c^; c.^0.5 % výsledek skalár % výsledek matice % maticové ásobeí % ásobeí prvek po prvku % c*c % odmocia jedotlivých prvků ukázka použití příkazů: help matfu e) maticové fukce d=det(c) e=iv(c) e*c c*e % determiat matice % iverze matice % výsledek - jedotková matice % výsledek - jedotková matice Příklad 3: Pomocí maticových operací spočítejte a) řešeí soustavy lieárích rovic 3x + 4x 5x3 + 6x4 = 3 4 4x 3x + x3 = 4 3 x + x x3 + x4 = 3 x + 9x3 = 4 0 Ax = b A Ax = A b x = A b 5 9 + 50 x= 50 6 x 0 x = x 3 3 0 x4 4 Ax = b b) součet kvadrátů celých čísel od -50 do 50 tj. S = x x=-50:50; S=x*x ; c) součet čísel 5.0, 5., 5.,, 9.9, 0.0 x=5:0.:0; =oes(legth(x),); S=x*; 00 d) součet převráceých hodot celých čísel od do 00 tj. S = x= x x=:00; =oes(legth(x),); S=./x*; 4) matematické fukce ukázka použití příkazů: help elfu a) trigoometrické fukce y=si(pi); % si(π) Příklad : vytvořit a přehrát zvukový sigál v délce sekudy (vzorkovací frekv. 4400 Hz) fs=4400; t=0:/fs:; a) s kostatí frekvecí khz a klesající amplitudou od do 0 ap=lispace(,0,legth(t)); y=apod.*si(*pi*000*t); wavplay(y,fs); b) s lieárě se měící frekvecí od 00 Hz do 5000 Hz fp=lispace(00,5000,legth(t)); y=si(*pi*fp.*t); wavplay(y,fs); vypočtěte cos(x) pro x od 0 do π (ve dvaceti bodech), akreslete graf
xv=lispace(0,*pi,0); yv=cos(x); plot(xv,yv); % vektor y % graf později podroběji b) expoeciálí fukce vypočtěte e x pro x od - do 5 (s děleím po 0,), akreslete graf x=-:0.:5; y=exp(x); % vektor y plot(x,y); % graf vypočtěte l(x), log(x), x a x 0,7 pro x od 0 do 5 (s děleím po 0,), akreslete graf x=0:0.:5; y=log(x); % přirozeý logaritmus y3=log0(x); % dekadický logaritmus y4=sqrt(x); % odmocia y5=realpow(x,0.7); % 0.7 mocia %y5=x.^0.7; % druhá možost (bude zmíěa dále) plot(x,y,x,y3,x,y4,x,y5); % graf c) výpočty s komplexími čísly x=.-.75*i re=real(x) im=imag(x) A=abs(x) fagle(x) vypočtěte x pro x od -5 do 5 (s děleím po ) x=-5::5; y=sqrt(x) xx=y.^ d) zaokrouhlováí a celá čísla x=[-.5-0.3 0.3.5] fix(x) floor(x) ceil(x) roud(x) % komplexí číslo % reálá část % imagiárí část % absolutí hodota % úhel % odmocia i komplexí řešeí % ověřeí % k ule % k mius ekoeču % k plus ekoeču % k ejbližšímu celému číslu e) statistiky mi(x) % miimum max(x) % maximum mea(x) % aritmetický průměr x = xp=/legth(x)*sum(x) % vlastí výpočet průměru x i
s=/(legth(x)-)*(x-xp)*(x-xp)' % vlastí výpočet rozptylu var(x) % rozptyl s = ( x i x) std(x) s=sqrt(s) % směrodatá odchylka s = ( x i x) % vlastí výpočet směrodaté odchylky Příklad : Mějme vektor čísel představující platy v jedom podiku. Seřaďte podle velikosti, určete ejmeší a ejvětší plat, průměrý plat a media a směrodatou odchylku x=[750,7990,800,7500,9850,300,650,9900,4500,500,35660,87800,30,6800];