počítačové modelování dynamických systémů

35
Počítačové modelování Počítačové modelování dynamických systémů dynamických systémů 2. cvičení 2. cvičení Miloslav LINDA Miloslav LINDA katedra elektrotechniky a automatizace katedra elektrotechniky a automatizace

Upload: aerona

Post on 11-Jan-2016

38 views

Category:

Documents


1 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Počítačové modelování dynamických systémů

Počítačové modelování Počítačové modelování dynamických systémůdynamických systémů

2. cvičení2. cvičení

Miloslav LINDAMiloslav LINDAkatedra elektrotechniky a automatizacekatedra elektrotechniky a automatizace

Page 2: Počítačové modelování dynamických systémů

• komplexní číslakomplexní čísla• matice a vektorymatice a vektory

• polynompolynom

• řetězcové proměnnéřetězcové proměnné

• řadyřady

• if a forif a for

• vykreslovánívykreslování

• tvorba vlastních funkcítvorba vlastních funkcí

• integrály a derivaceintegrály a derivace

Page 3: Počítačové modelování dynamických systémů

Komplexní číslaKomplexní čísla

- komplexní čísla jsou v Matlabu definována - komplexní čísla jsou v Matlabu definována symboly symboly ii a a jj

c=1+2ic=1+2i

c2=10*exp(pi/2*i)c2=10*exp(pi/2*i)

real(c)real(c) - zobrazí reálnou část komplexního čísla - zobrazí reálnou část komplexního čísla

imag(c)imag(c) - zobrazí imaginární část komplexního čísla- zobrazí imaginární část komplexního čísla

Page 4: Počítačové modelování dynamických systémů

komplexní číslakomplexní čísla

conj(c)conj(c) - komplexně sdružené číslo- komplexně sdružené číslo

angle(c)angle(c) - vypíše úhel- vypíše úhel k reálné osek reálné ose

abs(c)abs(c) - vypíše absolutní hodnotu komplexního čísla- vypíše absolutní hodnotu komplexního čísla

Page 5: Počítačové modelování dynamických systémů

• komplexní číslakomplexní čísla

• matice a vektorymatice a vektory• polynompolynom

• řetězcové proměnnéřetězcové proměnné

• řadyřady

• if a forif a for

• vykreslovánívykreslování

• tvorba vlastních funkcítvorba vlastních funkcí

• integrály a derivaceintegrály a derivace

Page 6: Počítačové modelování dynamických systémů

Matice a vektoryMatice a vektory

- na matice a vektory lze aplikovat - na matice a vektory lze aplikovat ++, , --, , **, , //

A=A=[[xx1111,x,x1212,x,x1313; x; x2121,x,x2222,x,x2323]]

a=a=[[1;2;3;4;51;2;3;4;5]] - sloupcový vektor, oddělovač - sloupcový vektor, oddělovač ;;

b=b=[[1,2,3,4,51,2,3,4,5]] - řádkový vektor oddělovač - řádkový vektor oddělovač ,,

aa’’ - transpozice matice („- transpozice matice („aa’’=b=b“)“)

Page 7: Počítačové modelování dynamických systémů

matice a vektorymatice a vektory

eye(c)eye(c) - jednotková matice- jednotková matice

ones(m,n)ones(m,n) - jedničková matice- jedničková matice

zeros(m,n)zeros(m,n) - nulová matice- nulová matice

rand(c)rand(c) - matice náhodných čísel s - matice náhodných čísel s rovnoměrným rozdělenímrovnoměrným rozdělením

randn(c)randn(c) - matice náhodných čísel s norm. - matice náhodných čísel s norm. rozd.rozd.

det(A)det(A) determinant maticedeterminant matice

inv(A)inv(A) inverze maticeinverze matice

Page 8: Počítačové modelování dynamických systémů

matice a vektorymatice a vektory

A(:,n)A(:,n) - vypíše n-tý sloupec matice- vypíše n-tý sloupec matice

A(m,:)A(m,:) - vypíše m-tý řádek matice- vypíše m-tý řádek matice

A(m,n)=5A(m,n)=5 - na pozici - na pozici [[m,nm,n]] uloží uloží ““55””

size(A)size(A) - rozměry matice- rozměry matice

diag(A)diag(A) - prvky matice na giagonále- prvky matice na giagonále

sqrtm(A)sqrtm(A) - maticová odmocnina- maticová odmocnina

Page 9: Počítačové modelování dynamických systémů

matice a vektorymatice a vektory

expm(A)expm(A) - maticová exponenciála- maticová exponenciála

logm(A)logm(A) - logaritmus matice- logaritmus matice

poly(A)poly(A) - charakteristický polynom- charakteristický polynom

max(A)max(A) - maximální prvek vektorů matice- maximální prvek vektorů matice

min(A)min(A) - minimální prvek vektorů matice- minimální prvek vektorů matice

.*, ..*, .^̂, ./, ., ./, .\\ - operace prvek po prvku, použití '- operace prvek po prvku, použití '.'.'

Page 10: Počítačové modelování dynamických systémů

matice a vektorymatice a vektory

fliplr(A)fliplr(A) - vertikální překlopení matice- vertikální překlopení matice

flipud(A)flipud(A) - horizontální překlopení matice- horizontální překlopení matice

rot90(A)rot90(A) - rotace matice, doleva- rotace matice, doleva

tril(A)tril(A) - vyjmutí dolní trojúhelníkové části- vyjmutí dolní trojúhelníkové části

triu(A)triu(A) - vyjmutí horní trojúhelníkové části- vyjmutí horní trojúhelníkové části

crosscross - vektorový součin- vektorový součin

dotdot - skalární součin- skalární součin

Page 11: Počítačové modelování dynamických systémů

matice a vektorymatice a vektory

find(A)find(A) - nalezení indexů nenulových prvků- nalezení indexů nenulových prvků

nnz(A)nnz(A) - počet nenulových prvků- počet nenulových prvků

nonzeros(A)nonzeros(A) - nenulové prvky- nenulové prvky

spones(A)spones(A) - nahrazení nenulových prvků - nahrazení nenulových prvků jedničkamijedničkami

colmmd(A)colmmd(A) - sloupcové přetřídění- sloupcové přetřídění

colperm(A)colperm(A) - sloupcové přetřídění podle počtu - sloupcové přetřídění podle počtu nenulových prvkůnenulových prvků

Page 12: Počítačové modelování dynamických systémů

• komplexní číslakomplexní čísla

• matice a vektorymatice a vektory

• polynompolynom• řetězcové proměnnéřetězcové proměnné

• řadyřady

• if a forif a for

• vykreslovánívykreslování

• tvorba vlastních funkcítvorba vlastních funkcí

• integrály a derivaceintegrály a derivace

Page 13: Počítačové modelování dynamických systémů

PolynomPolynom

y(x)=2xy(x)=2x55-3x-3x44+x+x22-4x-2-4x-2

p=p=[[aa44,a,a33,a,a22,a,a11,a,a00]] - zadání polynomu- zadání polynomu

conv(p,q)conv(p,q)- násobení polynomu p, q- násobení polynomu p, q

[[c,hc,h]]=deconv(p,q)=deconv(p,q)

- dělení polynomu p, q- dělení polynomu p, q

Page 14: Počítačové modelování dynamických systémů

polynompolynom

polyval(p,x)polyval(p,x)

- vyčíslení polynomu - vyčíslení polynomu pp pro všechna pro všechna xx

roots(p)roots(p)

- kořeny polynomu- kořeny polynomu

help elfunhelp elfun help specfunhelp specfun

- help pro další funkce- help pro další funkce

Page 15: Počítačové modelování dynamických systémů

polynompolynom

- rozklad na parciální zlomky- rozklad na parciální zlomky

[[d,gd,g]]=residue(a,b)=residue(a,b)

a=a=[3,-10][3,-10]

bb==[[1,-7,121,-7,12]]

dd 22 gg 44

11 33

12x7x

10x3y

2

3x

1

4x

2y

Page 16: Počítačové modelování dynamických systémů

polynompolynom

polyfitpolyfit - proložení dat polynomem- proložení dat polynomem

interp1interp1 - interpolace v 1-D- interpolace v 1-D

interp2interp2 - interpolace ve 2-D- interpolace ve 2-D

interpftinterpft - interpolace v 1-D pomocí FFT- interpolace v 1-D pomocí FFT

Page 17: Počítačové modelování dynamických systémů

• komplexní číslakomplexní čísla

• matice a vektorymatice a vektory

• polynompolynom

• řetězcové proměnnéřetězcové proměnné• řadyřady

• if a forif a for

• vykreslovánívykreslování

• tvorba vlastních funkcítvorba vlastních funkcí

• integrály a derivaceintegrály a derivace

Page 18: Počítačové modelování dynamických systémů

Řetězcové proměnnéŘetězcové proměnné

t=t=‘retezec’‘retezec’ - zadání řetězce- zadání řetězce

length(t)length(t) - vypíše délku řetězce- vypíše délku řetězce

t(c)t(c) - zobrazý - zobrazý c-týc-tý znak řetězce znak řetězce

t(c:end)t(c:end) - vypíše od c do konce řetězce- vypíše od c do konce řetězce

t(end:-1:1)t(end:-1:1) - vypíše řetězec pozpátku- vypíše řetězec pozpátku

Page 19: Počítačové modelování dynamických systémů

řetězcové proměnnéřetězcové proměnné

double(double(‘‘AA’’)) - vypíše ascii hodnotu- vypíše ascii hodnotu

char(66)char(66) - a naopak- a naopak

- - ‘‘sloučenísloučení’’ dvou řetězců dvou řetězců

sec_ret=sec_ret=[‘[‘pokpok’,’’,’usus’]’]

- práce s řetězcem z klávesnice- práce s řetězcem z klávesnice

proměnná = input(proměnná = input(‘‘zadej:zadej:’’))

Page 20: Počítačové modelování dynamických systémů

řetězce - konverzeřetězce - konverze

absabs - konverze řetězce na číslo- konverze řetězce na číslo

str2matstr2mat - konverze řetězce na číslo- konverze řetězce na číslo

str2numstr2num - konverze řetězce na číslo- konverze řetězce na číslo

int2strint2str - konverze celého čísla na řetězec- konverze celého čísla na řetězec

num2strnum2str - konverze řetězce na číslo- konverze řetězce na číslo

Page 21: Počítačové modelování dynamických systémů

řetězce - konverzeřetězce - konverze

dec2hexdec2hex - konverze čísla dekadického na - konverze čísla dekadického na hexadecimálníhexadecimální

hex2dechex2dec - konverze čísla hexadecimálního na - konverze čísla hexadecimálního na dekadickédekadické

hex2numhex2num - konverze hexadecimálního čísla na - konverze hexadecimálního čísla na

doubledouble

Page 22: Počítačové modelování dynamických systémů

řetězceřetězce

blanksblanks - generování řetězce mezer- generování řetězce mezer

deblankdeblank - odstranění mezer z konce řetězce- odstranění mezer z konce řetězce

findstrfindstr - hledá výskyt jednoho řetězce v druhém- hledá výskyt jednoho řetězce v druhém

isletterisletter - test znaku z abecedy- test znaku z abecedy

isstrisstr - test řetězce- test řetězce

lowerlower - konverze na malá písmena- konverze na malá písmena

upperupper - konverze na velká písmena- konverze na velká písmena

Page 23: Počítačové modelování dynamických systémů

řetězceřetězce

strcmpstrcmp - porovnání řetězců- porovnání řetězců

strrepstrrep - nahrazení části řetězce jiným- nahrazení části řetězce jiným

Page 24: Počítačové modelování dynamických systémů

• komplexní číslakomplexní čísla

• matice a vektorymatice a vektory

• polynompolynom

• řetězcové proměnnéřetězcové proměnné

• řadyřady• if a forif a for

• vykreslovánívykreslování

• tvorba vlastních funkcítvorba vlastních funkcí

• integrály a derivaceintegrály a derivace

Page 25: Počítačové modelování dynamických systémů

Tvorba řady číselTvorba řady čísel

- několik variant na tvorbu řady čísel- několik variant na tvorbu řady čísel

x=x=[0,45,90,135,180][0,45,90,135,180]- přímé zadání řady čísel- přímé zadání řady čísel

xx=linspace(0,10,5)=linspace(0,10,5)- 5 čísel od 0 do 10- 5 čísel od 0 do 10

x=logspace(1,2,100)x=logspace(1,2,100)- 100 čísel od 10- 100 čísel od 1011 do 10 do 1022

Page 26: Počítačové modelování dynamických systémů

řadyřady

x=1:5x=1:5- řada od 1 do 5, krokem 1 (standardní krok)- řada od 1 do 5, krokem 1 (standardní krok)

x=1:2:5x=1:2:5- řada od 1 do 5, krokem 2 (zvolený krok)- řada od 1 do 5, krokem 2 (zvolený krok)

““počáteční hodnota:krok:konečná hodnotapočáteční hodnota:krok:konečná hodnota””

A=A=[[1:5;5:-1:11:5;5:-1:1]]- matice- matice

Page 27: Počítačové modelování dynamických systémů

řadyřady

cumprodcumprod - kumulativní součin prvků - kumulativní součin prvků

cumsumcumsum - kumulativní sučet prvků- kumulativní sučet prvků

maxmax - největší prvek- největší prvek

meanmean - průměr- průměr

medianmedian - medián- medián

minmin - nejmenší prvek- nejmenší prvek

prodprod - součin prvků- součin prvků

Page 28: Počítačové modelování dynamických systémů

řadyřady

sortsort - setřídění prvků- setřídění prvků

stdstd - standardní odchylka- standardní odchylka

sumsum - součet prvků- součet prvků

diffdiff - diference mezi prvky- diference mezi prvky

corrcoefcorrcoef - korelační koeficienty- korelační koeficienty

covcov - kovarianční matice- kovarianční matice

Page 29: Počítačové modelování dynamických systémů

• komplexní číslakomplexní čísla

• matice a vektorymatice a vektory

• polynompolynom

• řetězcové proměnnéřetězcové proměnné

• řadyřady

• if a forif a for• vykreslovánívykreslování

• tvorba vlastních funkcítvorba vlastních funkcí

• integrály a derivaceintegrály a derivace

Page 30: Počítačové modelování dynamických systémů

Funkce a operátoryFunkce a operátory

&&, and, and - logický součin- logický součin

!, or!, or - logický součet- logický součet

~~, not, not - negace- negace

xorxor - exclusive or- exclusive or

anyany - true, nenulový jeden- true, nenulový jeden

allall - true, nenulové všechny- true, nenulové všechny

&& - AND&& - AND; ; |||| - OR; ! - OR; ! - - NOT (užití ve Stateflow)NOT (užití ve Stateflow)

Page 31: Počítačové modelování dynamických systémů

funkce a operátoryfunkce a operátory

<, <, lltt(a,b)(a,b) >, gt>, gt(,)(,) - menší, větší než- menší, větší než

<<==, , le(,)le(,) >>==, g, ge(,)e(,) - menší, větší nebo rovno- menší, větší nebo rovno

==, eg(,)==, eg(,) - rovnost- rovnost

~~=, ne(,)=, ne(,) - nerovnost- nerovnost

- příklad zápisu- příklad zápisu

AA>>B B nebo nebo gt(A,B)gt(A,B)

Page 32: Počítačové modelování dynamických systémů

cykly - ifcykly - if

if výrazif výrazpříkazypříkazy

endend----------------------------------------------------------------------------------------------------------------------------------------------------------

a=2a=2

if aif a>>11

disp(disp(‘‘a je vetsi nez jednaa je vetsi nez jedna’’))

elseif aelseif a<<11

disp(disp(‘‘a je menší nez jednaa je menší nez jedna’’))

elseelse

disp(disp(‘‘a je jednaa je jedna’’))

endend

Page 33: Počítačové modelování dynamických systémů

cykly - forcykly - for

for výrazfor výrazpříkazypříkazy

endend----------------------------------------------------------------------------------------------------------------------------------------------------------

clear allclear all

for i=1:3for i=1:3

for j=1:3for j=1:3

x(i,j)=ix(i,j)=i^̂2+j2+j^̂22

endend

endend

Page 34: Počítačové modelování dynamických systémů

switch-caseswitch-case

- rozhodovací nabídka- rozhodovací nabídka

switch výrazswitch výraz

case podmínka_1case podmínka_1

příkazypříkazy

case podmínka_2case podmínka_2

příkazypříkazy

otherwiseotherwise

příkazypříkazy

endend----------------------------------------------------------------------------------------------------------------------------------------------------------

breakbreak - slouží k opuštění podmínky - slouží k opuštění podmínky

Page 35: Počítačové modelování dynamických systémů

konec, další příštěkonec, další příště