25

Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná ([email protected])a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Cvi£ení 1 � Matlab

Modelování systém· a proces·

Lucie Kárná

[email protected]

February 19, 2021

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 1 / 25

Page 2: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

1 Organizace cvi£ení2 Matlab

Za£ínámeZákladní operaceZákladní funkce

3 SimulinkPrincip práce v SimulinkuJednoduché modely v SimulinkuSouhrn

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 2 / 25

Page 3: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Organizace cvi£ení

Webová stránka p°edm¥tu

http://zolotarev.fd.cvut.cz/msp/

program cvi£ení a p°edná²ek

termíny test·

pravidla

studijní materiály, videa

zadání domácích úloh

odevzdání domácích úloh

pr·b¥ºné hodnocení

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 3 / 25

Page 4: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Organizace cvi£ení

Zápo£et

Nejmén¥ 15 bod· ze 30 moºných

4 body za t°i automatické domácí úkoly

13 bod· za praktické testy (Matlab a Simulink)

13 bod· za záv¥re£ný po£etní test (minimáln¥ 7)

plus moºné bonusové body za aktivitu na cvi£eních

15 bod· ⇒ zkou²ka za E30 bod· ⇒ zkou²ka za A

Opravy: jen jeden z test·Omluvy: pouze s potvrzením (dokladem)

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 4 / 25

Page 5: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Organizace cvi£ení

P°edpokládané vstupní znalosti

st°edo²kolská matematikaúpravy sloºených výraz·

kvadratické rovnice

komplexní £ísla,

algebramaticový po£et

vlastní £ísla

soustavy lineárních rovnic

parciální zlomky

kalkulus£íselné °ady

integrace a derivace základních funkcí

základy programování a algoritmizace

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 5 / 25

Page 6: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Matlab

Page 7: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Matlab Za£ínáme

Matlab

instalace Matlabustáhnout z https://download.cvut.cz/pouze z IP adres domény �VUT

Matlab mluví anglicky

p°epnout klávesnici na ENG/US

desetinná te£ka

nepouºívat há£ky, £árky, mezery, speciální znaky atd. v názvechprom¥nných ani soubor·

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 7 / 25

Page 8: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Matlab Za£ínáme

Pohodlí p°i práci

UNIX-like prost°edí

rozli²ujeme malá a VELKÁ písmena

dopln¥ní slova: tabulátor

zkopírování minulého p°íkazu: ²ipka nahoru

ukon£ení probíhajícího výpo£tu: ∧C

okno Workspace - p°ehled prom¥nných

nastavit pracovní adresá°

£ervená odpov¥¤ = chyba

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 8 / 25

Page 9: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Matlab Základní operace

Základní operace

Matlab jako kalkula£ka

� 1320 / 63 % za znakem '%' je komentá°ans = 20.9524 % prom¥nná 'ans' = odpov¥¤� p = ans - 20 % prom¥nnou 'ans' lze dále vyuºívat� a = 1 + 1; % potla£ení výstupu na obrazovku� a = a + 1� a = 3

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 9 / 25

Page 10: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Matlab Základní operace

Vektory 1

Zadávání vektor·� u = [1 2 3 4 5] % vycet prvku� x = 1:5 % notace s dvojteckou� y = 0:pi/4:pi

�tení a zapisování prvk· vektoru

� u = [1 3 5 7];� x = u(2)� u(4) = 9;

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 10 / 25

Page 11: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Matlab Základní operace

Vektory 2

�ádkový a sloupcový vektor

� x = [0.0:0.1:0.5]' % apostrof = transpozice� y = exp(-x).*cos(x); % £len po £lenu - s te£kou� [x y] % matice (= tabulka)

Skalární sou£in� u = [2 -3 1];� v = [-3 1 2];� u*v % chyba - matice 1x3 krat 1x3 nelze nasobit� w = x*v' % skalární sou£in - 1x3 krat 3x1

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 11 / 25

Page 12: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Matlab Základní operace

Matice

indexování °ádk· a sloupc· od jedni£ky

zadávání matice vý£tem prvk·:

� A = [1 2; 3 4; 5 6] % °ádky odd¥luje st°edník� A(2,1) % prvek A21 = 3; indexy odd¥luje £árka!� A(:,1) % první sloupec� A(2,:) = [] % vymaºe 2. °ádek

násobení matic:

� A = [1 2; -3 1]� B = [3 -1; -2 3]� A*B

násobení po prvcích � te£ková konvence:

� A.*B

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 12 / 25

Page 13: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Matlab Základní funkce

Základní funkce

Obecné funkcehelp on-line nápov¥da

who seznam prom¥nných

clear zru²í v²echny prom¥nné

clc vymaºe obrazovku

Matematické funkceexp exponenciální funkce � ex

x�a obecná mocnina � xa

sqrt druhá odmocnina (square root) �√x

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 13 / 25

Page 14: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Matlab Základní funkce

Vektorové funkcelength délka vektoru

roots výpo£et ko°en· polynomu

P°íklad � ko°eny polynomu

Zadání: najd¥te ko°eny polynomu p(x) = 3x3 + 2x + 1

�e²ení:

� p = [3, 0, 2, 1] % vektor = koeficienty polynomu� roots(p) % vrátí ko°eny

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 14 / 25

Page 15: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Matlab Základní funkce

Maticové funkcesize dimenze matice

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

ones(m,n) matice (m,n) jedni£ek

eye(m) jednotková matice (m,m)

rand(m,n) matice (m,n) náhodných £ísel

eig výpo£et vlastních £ísel matie

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 15 / 25

Page 16: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Matlab Základní funkce

Dal²í dovednosti

Domácí úkolNastudovat Jemný úvod do Matlabu a Simulinku

na stránkách p°edm¥tu, sekce Cvi£ení, materiály pro 1. cvi£ení

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 16 / 25

Page 17: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Simulink

Page 18: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Simulink Princip práce v Simulinku

P°íklad: zobrazení sinusové vlny

Model

Sine Wave Scope

Blok Sine Wave

parametry:

frekvence

fáze

amplituda

Pouºité blokySources → Sine Wave

Sinks → Scope

Parametry simulace

Start Time

Stop Time

Solver Type (Variable/Fixed Step)

Step Time (auto/hodnota)

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 18 / 25

Page 19: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Simulink Jednoduché modely v Simulinku

Kruºnice

Rovnicex = r sin t,y = r cos t.t ∈< 0, 2π >r > 0 const.

Sources → Clock

parametry:nenastavujeme

Model

XY Graph

TrigonometricFunction1

cos

TrigonometricFunction

sin

Gain1

r

Gain

r

Clock

Sinks → XY Graph

parametry:

Xmin, Xmax: rozsah na ose X

Ymin, Ymax: rozsah na ose Y

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 19 / 25

Page 20: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Simulink Jednoduché modely v Simulinku

Kruºnice

Blok Math Operations → Gain

parametry: hodnota £initele

zde hodnotu r ur£íme v Matlabu:� r=0.6

Blok Math Operations → Trigonometric Function

sinus, cosinus, tangens, . . .

hyperbolický sinus, cosinus, . . .

. . .

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 20 / 25

Page 21: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Simulink Jednoduché modely v Simulinku

Archimédova spirála

Rovnicex = t sin t,y = t cos t.t ∈< 0,∞ >.

Blok Math Operations → Product

parametry: po£et vstup·

XY Graph

TrigonometricFunction1

cos

TrigonometricFunction

sin

Product1

ProductClock

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 21 / 25

Page 22: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Simulink Jednoduché modely v Simulinku

Logaritmická spirála

Rovnice

x = e−kt sin t,y = e−kt cos t.t ∈< 0,∞ >,k > 0 const.

Blok Math Operations → Math Function

exp exponenciální funkce eu

log p°irozený logaritmus ln u

reciprocal p°evrácená hodnota 1/u

pow obecná mocina uv

. . .

Nastavenív Matlabu poloºíme � k=0.05

kon�gurace simulace: pevný krok 0.01.

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 22 / 25

Page 23: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Simulink Jednoduché modely v Simulinku

Asteroida

Rovnice

x = sin3 t,y = cos3 t.t ∈< 0, 2π >.

BlokMath Operations

→ Math Function

pow obecná mocina uv

Blok Sources → Constant

nastavíme 3

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 23 / 25

Page 24: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace

Simulink Souhrn

Nov¥ probrané Simulinkové bloky

SourcesSine Wave

Clock

Constant

SinksScope

XY Graph

Math Operations

Trigonometric Function

Gain

Product

Math Function

Signal Routing

Mux

Lucie Kárná ([email protected]) Cvi£ení 1 � Matlab February 19, 2021 24 / 25

Page 25: Cvi£ení 1 Matlab - cvut.cz...základy programování a algoritmizace Lucie Kárná (krna@fd.cvut.cz)a Cvi£ení 1 Matlab February 19, 20215/25 Matlab Matlab Za£ínáme Matlab instalace