Počítačové modelování dynamických systémů 3. cvičení katedra elektrotechniky a automatizace Miloslav LINDA
vykreslování komplexní čísla matice a vektory polynom řetězcové proměnné řady if a for vykreslování tvorba vlastních funkcí integrály a derivace
Vykreslování - spojnicový xy graf plot([x1 x2 x3],[y1 y2 y3]) - bod po bodu plot(x,y) - vykreslení grafu závislosti y=f(x) plot(x,y1,x,y2) - vykreslení grafu závislosti y1=f(x) a y2=f(x) - pamatujte si zadání do příkazu, vždy x a pak y
vykreslování b - modrá . bod - plná formátování grafu plot(x,y,’. . .’) b - modrá . bod - plná g - zelená o kruh : tečkovaná r - červená x křížek -. čerchovaná y - žlutá + plus -- čárkovaná k - černá * hvězda w - bílá s čtverec c - modrozelená d diamant - příklad zadání příkazu s formátováním: plot(x,y,’bo-.’)
vykreslování - formátování grafu LineWidth MarkerSize MarkerEdgeColor - tloušťka čáry v bodech MarkerSize - velikost značek v bodech MarkerEdgeColor - barva okraje značek MarkerFaceColor - barva výplně značek
vykreslování - formátování grafu př.: plot(x,y,’bo-’,’LineWidth’,2,’MarkerSize’,10,’MarkerFaceColor’,’y’) - důležité, parametr jako např. barva musí být zadán jako řetězec a číslo jako číslo tedy bez apostrofů
vykreslování - popisky plot(x,y) title(‘titulek grafu’) xlabel(‘popisek osy x’) ylabel(‘popisek osy y’) legend(‘cokoli’,‘cokoli’) - legenda se musí zadat pro všechny průběhy postupně text(x,y,’cokoli’) - na zadanou pozici vepíše text gtext(’cokoli’) - text umístěný do grafu myší
vykreslování axis([xmin,xmax,ymin,ymax]) axis equel axis square - změní souřadnice grafu x a y axis equel - stejné měřítko na obou osách axis square - čtvercový tvar grafu axis normal - nastaví standardní vzhled
vykreslování axis on/off grid on/off hold on/off figure(k) - zapne nebo vypne osy, popisky a značky grid on/off - zapne nebo vypne mřížku hold on/off - přemaže nebo nepřemaže kreslící plochu figure(k) - vytvoří nebo vykreslí do k-té kreslící plochy
vykreslování subplot(radky,sloupce,cislo plochy) - rozdělení kreslící plochy do dílčích grafů př.: subplot(2,2,1) subplot(2,2,1) plot(x,y1) plot(x,y1) subplot(2,2,2) subplot(2,2,2) plot(x,y2) plot(x,y2) subplot(2,2,3) subplot(2,1,2) plot(x,y3) plot(x,y3) subplot(2,2,4) plot(x,y4) subplot(p,q,r) p řádků, q sloupků a r-té okno
vykreslování - formátování textu popisku \it{text} \bf{text} \fontsize{13} \n - odřádkování _ dolní index ^ horní index - příklad formátování textu: text(1,2,’\fontsize{13}\bf{text popisku^2}’)
další varianty x,y grafu loglog(x,y) - graf v logaritmických souřadnicích semilogx(x,y) - semilogaritmický s log. souřadnicí x semilogy(x,y) - semilogaritmický s log. souřadnicí y
třírozměrné grafy plot3(x,y,z) mesh(x,y,z) surf(x,y,z) - drátový model surf(x,y,z) - stínovaná plocha help graph3d - help ke 3D grafům
další grafy bar3(y) stairs(x,y) stem(x,y) - sloupcový graf 3D - zadání y jako “y=[6 3 2;9 6 4;7 5 4;5 6 5]” stairs(x,y) - schodový graf stem(x,y) - stonkový graf
další grafy contour(z,N) contourf(z,N) - graf uspořádání (výnosová mapa) contourf(z,N) - graf uspořádání (výnosová mapa),stínovaný p=peaks subplot(1,2,1) [k,l]=contour(p,10) clabel(k,l) subplot(1,2,2) caxis([-10,10])
další grafy polar(xp,yp) - graf v polárních souřadnicích pol2cart(rad_uhel,velikost) - graf v polárních souřadnicích, orientovaný help specgraph - speciální grafy
doplněk comet - pohybující se bod errorbar - chybový graf feather - graf tvaru ptačího pera fplot - graf funkce rose - úhlový histogram waterfall - graf tvaru vodopád
doplněk colormap - mapa barev cylinder - generování válce sphere - generování koule gcf - získání identifikátoru aktuálního graf. okna figflag - test existence okna daného jména figure - vytvoření okna daného jména refresh - aktualizování obsahu graf. okna
Doplněk objekty line - vytvoření objektu line text - vytvoření objektu text uicontrol - vytvoření objektu uicontrol, tvorba rozhraní uimenu - vytvoření objektu uimenu, tvorba rozhraní uisetcolor - export vektoru barvy get - získání vlastností objektu set - nastavení vlastností objektu
doplněk objekty - boxy inputdlg - dialogový vstup dat errordlg - dialogový box, chybové hlášení helpdlg - dialogový box, nápověda questdlg - dialogový box, dotaz, možnost volby warndlg - dialogový box, varování msgbox - message box - základní syntaxe příkazů příkaz('text','název okna')
doplněk různé ginput - grafický vstup pomocí myši rotate - rotace grafickým objektem uisetcolor - interaktivní volba barvy whitebg - nastavení pozadí na bílou zoom - transfokace
tvorba vlastních funkcí komplexní čísla matice a vektory polynom řetězcové proměnné řady if a for vykreslování tvorba vlastních funkcí integrály a derivace
Tvorba vlastních funkcí - vlastní funkce musí být v samostatném souboru s příponou *.m - měl by obsahovat následující části 1. řádek - definice funkce 2. řádek - první řádek nápovědy 3. řádek - nápověda další řádky - kód funkce - název funkce se musí shodovat s názvem souboru - její volání je pomocí názvu souboru s funkcí
tvorba vlastních funkcí - příklad: funkce - pokus_fnc.m function [output_arg]=pokus_fnc(input_arg) %první řádek nápovědy %nápověda tělo funkce - volání: pokus_fnc(input_arg)
integrály a derivace komplexní čísla matice a vektory polynom řetězcové proměnné řady if a for vykreslování tvorba vlastních funkcí integrály a derivace
integrál funkce quad(funkce,dolní_mez,horní_mez) - výpočet plochy pod křivkou - Matlab obsahuje dvě funkce pro výpočet integrálu quad(funkce,dolní_mez,horní_mez) př. zadání : funkce=inline(‘x.*sin(x)’) vysledek=quad(funkce,-1,2) nebo pomocí funkce v M-filu, kde je funkce v myfun.m vysledek=quad(@myfun,-1,2)
integrál funkce quadl(funkce,dolní_mez,horní_mez) - druhá varianta quad quadl(funkce,dolní_mez,horní_mez) - využívá rekurzivní adaptivní Lobattovo kvadraturu - vyšší přesnost nebo pokud selže quad -výpočet dvojného integrálu dblquad(funkce,d_mez1,h_mez1,d_mez2,h_mez2)
Derivace funkce - derivace je spojena s bodem na křivce je to směrnice v tomto bodě, proto je její výpočet obtížnější než integrál funkce - malé nepřesnosti mohou způsobit velké chyby dopředná diferenční aproximace
derivace funkce - pro výpočet se používá funkce diff - diference mezi prvky př.: p=[2,-4,-2,0] x=linspace(0,2,15) y=polyval(p,x) da=polyval(polyder(p),x) dn=diff(y)./diff(x) plot(x,y,x,da,x,dn) polynom analytické vyjádření numerické vyjádření
Statistické funkce randn(m,n) - náhodná čísla mean(y) - výpočet střední hodnoty ve všech sloupcích matice std(y,flag) - výpočet hodnoty rozptylu flag - 0 pro jeden typ výpočtu flag - 1 pro druhý typ výpočtu - výsledek je po odmocnění
statistické funkce xcov(x,y,’coeff’) - vzájemná kovariace xcov(x,x,’coeff’) - autokovariační fce. xcorr(x,y,’coeff’) - vzájemná korelace xcorr(x,y,’coeff’) - autokorelační fce.
statistické funkce xcorr2(x,y) - dvojrozměrná vzájemná korelace cov(x) - výpočet kovariační matice corrcoef(x) - matice korelačních koeficientů
konec