350 likes | 515 Views
Počítačové modelování dynamických systémů. 2. cvičení. katedra elektrotechniky a automatizace. Miloslav LINDA. komplexní čísla matice a vektory polynom řetězcové proměnné řady if a for vykreslování tvorba vlastních funkcí integrály a derivace. Komplexní čísla.
E N D
Počítačové modelování dynamických systémů 2. cvičení katedra elektrotechniky a automatizace Miloslav LINDA
komplexní čísla • matice a vektory • polynom • řetězcové proměnné • řady • if a for • vykreslování • tvorba vlastních funkcí • integrály a derivace
Komplexní čísla - komplexní čísla jsou v Matlabu definována symboly i a j c=1+2i c2=10*exp(pi/2*i) real(c) - zobrazí reálnou část komplexního čísla imag(c) - zobrazí imaginární část komplexního čísla
komplexní čísla conj(c) - komplexně sdružené číslo angle(c) - vypíše úhel k reálné ose abs(c) - vypíše absolutní hodnotu komplexního čísla
komplexní čísla • matice a vektory • polynom • řetězcové proměnné • řady • if a for • vykreslování • tvorba vlastních funkcí • integrály a derivace
Matice a vektory - na matice a vektory lze aplikovat +, -, *, / A=[x11,x12,x13; x21,x22,x23] a=[1;2;3;4;5]- sloupcový vektor, oddělovač ; b=[1,2,3,4,5]- řádkový vektor oddělovač , a’- transpozice matice („a’=b“)
matice a vektory eye(c) - jednotková matice ones(m,n) - jedničková matice zeros(m,n) - nulová matice rand(c) - matice náhodných čísel s rovnoměrným rozdělením randn(c) - matice náhodných čísel s norm. rozd. det(A) determinant matice inv(A) inverze matice
matice a vektory A(:,n) - vypíše n-tý sloupec matice A(m,:) - vypíše m-tý řádek matice A(m,n)=5 - na pozici [m,n] uloží “5” size(A) - rozměry matice diag(A) - prvky matice na giagonále sqrtm(A) - maticová odmocnina
matice a vektory expm(A) - maticová exponenciála logm(A) - logaritmus matice poly(A) - charakteristický polynom max(A) - maximální prvek vektorů matice min(A) - minimální prvek vektorů matice .*, .^, ./, .\ - operace prvek po prvku, použití '.'
matice a vektory fliplr(A) - vertikální překlopení matice flipud(A) - horizontální překlopení matice rot90(A) - rotace matice, doleva tril(A) - vyjmutí dolní trojúhelníkové části triu(A) - vyjmutí horní trojúhelníkové části cross - vektorový součin dot - skalární součin
matice a vektory find(A) - nalezení indexů nenulových prvků nnz(A) - počet nenulových prvků nonzeros(A) - nenulové prvky spones(A) - nahrazení nenulových prvků jedničkami colmmd(A) - sloupcové přetřídění colperm(A) - sloupcové přetřídění podle počtu nenulových prvků
komplexní čísla • matice a vektory • polynom • řetězcové proměnné • řady • if a for • vykreslování • tvorba vlastních funkcí • integrály a derivace
Polynom y(x)=2x5-3x4+x2-4x-2 p=[a4,a3,a2,a1,a0]- zadání polynomu conv(p,q) - násobení polynomu p, q [c,h]=deconv(p,q) - dělení polynomu p, q
polynom polyval(p,x) - vyčíslení polynomu p pro všechna x roots(p) - kořeny polynomu help elfun help specfun - help pro další funkce
polynom - rozklad na parciální zlomky [d,g]=residue(a,b) a=[3,-10] b=[1,-7,12] d 2 g 4 1 3
polynom polyfit - proložení dat polynomem interp1 - interpolace v 1-D interp2 - interpolace ve 2-D interpft - interpolace v 1-D pomocí FFT
komplexní čísla • matice a vektory • polynom • řetězcové proměnné • řady • if a for • vykreslování • tvorba vlastních funkcí • integrály a derivace
Řetězcové proměnné t=‘retezec’- zadání řetězce length(t) - vypíše délku řetězce t(c) - zobrazý c-tý znak řetězce t(c:end) - vypíše od c do konce řetězce t(end:-1:1) - vypíše řetězec pozpátku
řetězcové proměnné double(‘A’) - vypíše ascii hodnotu char(66) - a naopak - ‘sloučení’ dvou řetězců sec_ret=[‘pok’,’us’] - práce s řetězcem z klávesnice proměnná = input(‘zadej:’)
řetězce - konverze abs - konverze řetězce na číslo str2mat - konverze řetězce na číslo str2num - konverze řetězce na číslo int2str - konverze celého čísla na řetězec num2str - konverze řetězce na číslo
řetězce - konverze dec2hex - konverze čísla dekadického na hexadecimální hex2dec - konverze čísla hexadecimálního na dekadické hex2num - konverze hexadecimálního čísla na double
řetězce blanks - generování řetězce mezer deblank - odstranění mezer z konce řetězce findstr - hledá výskyt jednoho řetězce v druhém isletter - test znaku z abecedy isstr - test řetězce lower - konverze na malá písmena upper - konverze na velká písmena
řetězce strcmp - porovnání řetězců strrep - nahrazení části řetězce jiným
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 řady čísel - několik variant na tvorbu řady čísel x=[0,45,90,135,180] - přímé zadání řady čísel x=linspace(0,10,5) - 5 čísel od 0 do 10 x=logspace(1,2,100) - 100 čísel od 101 do 102
řady x=1:5 - řada od 1 do 5, krokem 1 (standardní krok) x=1:2:5 - řada od 1 do 5, krokem 2 (zvolený krok) “počáteční hodnota:krok:konečná hodnota” A=[1:5;5:-1:1] - matice
řady cumprod - kumulativní součin prvků cumsum - kumulativní sučet prvků max - největší prvek mean - průměr median - medián min - nejmenší prvek prod - součin prvků
řady sort - setřídění prvků std - standardní odchylka sum - součet prvků diff - diference mezi prvky corrcoef- korelační koeficienty cov - kovarianční matice
komplexní čísla • matice a vektory • polynom • řetězcové proměnné • řady • if a for • vykreslování • tvorba vlastních funkcí • integrály a derivace
Funkce a operátory &, and - logický součin !, or - logický součet ~, not - negace xor - exclusive or any - true, nenulový jeden all - true, nenulové všechny && - AND; || - OR; ! - NOT (užití ve Stateflow)
funkce a operátory <, lt(a,b) >, gt(,) - menší, větší než <=, le(,) >=, ge(,) - menší, větší nebo rovno ==, eg(,) - rovnost ~=, ne(,) - nerovnost - příklad zápisu A>B nebo gt(A,B)
cykly - if if výraz příkazy end ----------------------------------------------------------------------------- a=2 if a>1 disp(‘a je vetsi nez jedna’) elseif a<1 disp(‘a je menší nez jedna’) else disp(‘a je jedna’) end
cykly - for for výraz příkazy end ----------------------------------------------------------------------------- clear all for i=1:3 for j=1:3 x(i,j)=i^2+j^2 end end
switch-case - rozhodovací nabídka switch výraz case podmínka_1 příkazy case podmínka_2 příkazy otherwise příkazy end ----------------------------------------------------------------------------- break - slouží k opuštění podmínky