Pôvodne: Interaktívny program na operácie s maticami Teraz: Vysoko úrovňový jazyk na technické výpočty a interaktívne prostredie na:

Podobné dokumenty
ROZ1 - Cv. 1 - Zobrazenэ snэmku a zсklady Matlabu

Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných

MATrixLABoratory letný semester 2004/2005

MATLAB (1) - úvod do programovania vedeckých problémov. LS 2017, 8.predn.

pi Ludolfovo číslo π = 3,14159 e Eulerovo číslo e = 2,71828 (lze spočítat jako exp(1)), např. je v Octave, v MATLABu tato konstanta e není

MATLAB základy. Roman Stanec PEF MZLU

- transpozice (odlišuje se od překlopení pro komplexní čísla) - překlopení matice pole podle hlavní diagonály, např.: A.' ans =

Základy algoritmizace a programování

cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování)

NPGR032 Cv úvod

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

Seminář z MATLABU. Jiří Krejsa. A2/710 krejsa@fme.vutbr.cz

Předmluva 9 Obsah knihy 9 Typografické konvence 10 Informace o autorovi 10 Poděkování 10

Předzpracování dat. Cvičení 2: Import a příprava dat v Matlabu MI-PDD, 09/2011. Pavel Kordík MI-POA

KTE / PPEL Počítačová podpora v elektrotechnice

LINEÁRNÍ ALGEBRA S MATLABEM

Základy algoritmizace a programování

Lineární algebra s Matlabem. Přednáška 1

MATLAB, v , Release 13

Interpolace a aproximace dat.

Doňar B., Zaplatílek K.: MATLAB - tvorba uživatelských aplikací, BEN - technická literatura, Praha, (ISBN:

Příklady k prvnímu testu - Matlab

ZÁKLADY TEÓRIE GRAFOV

Modelování polohových servomechanismů v prostředí Matlab / Simulink

X37SGS Signály a systémy

Programovanie v jazyku C - pole treba poorat...

Spracovanie informácií

Lineární algebra s Matlabem. Přednáška 4

Základy programování: Algoritmizace v systému MATLAB

while cyklus s podmínkou na začátku cyklus bez udání počtu opakování while podmínka příkazy; příkazy; příkazy; end; % další pokračování programu

Lineární algebra s Matlabem cvičení 3

1 Základní funkce pro zpracování obrazových dat

Ďalší spôsob, akým je možné vygenerovať maticu je použitie zabudovaných funkcií na generovanie elementárnych matíc.

Základy programovania pre fyzikov

Stručný návod k programu Octave

- 1 - MATLAB základy I.Pultarová, únor 2002

LabView jako programovací jazyk II

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Polia a matice v jazyku C. Michal Kvasnica

Vytváranie trojrozmerných grafických zobrazení v prostredí MATLAB a interaktívne úpravy grafov pomocou Figure Toolbar

% vyhledání prvku s max. velikostí v jednotlivých sloupcích matice X

KTE / PPEL Počítačová podpora v elektrotechnice

3.T Technické výpočty v Octave/Matlabu zpracování a zobrazení dat

Programování v Matlabu

STRUČNÝ NÁVOD NA OBSLUHU DATALOGERA KIMO KT110 / 150

KTE / PPEL Počítačová podpora v elektrotechnice

PPEL_3_cviceni_MATLAB.txt. % zadat 6 hodnot mezi cisly 2 a 8 % linspace (pocatek, konec, pocet bodu)

15. Príkazy vetvenia

E+034 = ; = e E+034

Skriptování aneb funkce a procedury, cykly a vstupy a výstupy

VYBRANÉ PROBLÉMY ČASOVÉ OPTIMALIZACE ZDROJOVÉHO KÓDU V PROSTŘEDÍ MATLAB

Testovanie 5. v školskom roku 2015/2016. Testovanie sa uskutoční 25. novembra 2015 (streda). Žiaci budú testy písať v nasledovnom poradí:

Jihočeská univerzita v Českých Budějovicích Pedagogická fakulta Katedra fyziky Jeronýmova 10, České Budějovice

Imagine. Popis prostredia:

DFT 1D i 2D obrázkové připomenutí a trošku konvoluce 1

PPEL Ing. Petr Kropík ICQ: tel.: (odd.

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu.

Cvi ení 2. Cvi ení 2. Modelování systém a proces. Mgr. Lucie Kárná, PhD. March 5, 2018

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události

Wolfram Alpha. v podobě html stránky, samotný výsledek je často doplněn o další informace (např. graf, jiné možné zobrazení výsledku a

Iterační výpočty Projekt č. 2

UČEBNÉ OSNOVY do ŠkVP

Ťahák - Základy jazyka Python

více křivek v jednom grafu hold on přidrží aktuální graf v grafickém okně, lze nakreslit více grafů do jednoho grafického okna postupně hold off

PROGRAMOVANIE A JEHO POZÍCIA VPREDMETE INFORMATIKA. Mgr. Ján Guniš

Kreslení grafů v Matlabu

MATrixLABoratory letný semester 2004/2005. Zobrazovanie v 3D

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

RIEŠENIE NIEKTORÝCH ÚLOH LINEÁRNEJ ALGEBRY V PROSTREDÍ MS EXCEL. 1. Zadáme prvky matice A a B do buniek pracovného hárku zošita MS Excel

Příklady k druhému testu - Matlab

Manuál Klientska zóna

PODPROGRAMY. Vyčlenenie podprogramu a jeho pomenovanie robíme v deklarácii programu a aktiváciu vykonáme volaním podprogramu.

Operační systémy. Cvičení 4: Programování v C pod Unixem

Řešení diferenciálních rovnic v MATLABu

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

Studentove t-testy. Metódy riešenia matematických úloh

TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

Paměť počítače. alg2 1

VECIT 2006 Tento materiál vznikol v rámci projektu, ktorý je spolufinancovaný Európskou úniou. 1/4

Úvod do Operačních Systémů

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

ZPRACOVÁNÍ OBRAZU V MĚŘICÍ A ŘÍDICÍ TECHNICE

Knihovny pro programování PLC Tecomat podle IEC

U N I V E R Z I N S K Á I T A I L V E R E N L N T A S O

ROZ II cv. 01 Dekonvoluce KM - FJFI - ČVUT

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Import cenových akcií FRESH

KTE / PPEL Počítačová podpora v elektrotechnice

MATLAB HRAVĚ Zdeněk Jančík, FIT VUT Brno

Zápis programu v jazyce C#

při vykreslování křivky je důležitá velikost kroku, příp. počet prvků, ve vektoru t (na ose x). t = linspace(0,2*pi,500); y = sin(t); t =

otočení matice o 180

Příklad: Řešte soustavu lineárních algebraických rovnic 10x 1 + 5x 2 +70x 3 + 5x 4 + 5x 5 = 275 2x 1 + 7x 2 + 6x 3 + 9x 4 + 6x 5 = 100 8x 1 + 9x 2 +

Užívateľská príručka systému CEHZ. Základné zostavy Farmy podľa druhu činnosti

MATLAB. Popis prostředí MATLABu (pracovní plocha) MATLAB je integrovaným prostředím, s jehož pomocí lze provádět zejména:

Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Vytvorenie používateľov a nastavenie prístupov

První kapitola úvod do problematiky

Transkript:

Úvod do MATLAB-u

MATLAB Pôvodne: Interaktívny program na operácie s maticami Teraz: Vysoko úrovňový jazyk na technické výpočty a interaktívne prostredie na: tvorbu algoritmov, vizualizáciu a analýzu dát a numerické výpočty

MATLAB Interaktívny nástroj na analýzu, návrh a riešenie problémov Matematické funkcie pre lineárnu algebru, štatistiku, Fourierovu analýzu, filtrovanie... Funkcie na vizualizáciu 2D a 3D dát Nástroje na vytvorenie GUI

MATLAB Využitie: spracovanie signálu, spracovanie obrazu, testovanie a meranie, finančné modelovanie a analýza, výpočtová biológia... Toolboxy rozširujú prostredie MATLAB na riešenie tried problémov z konkrétnych oblastí

MATLAB - functions Function list http://www.mathworks.com/help/matlab/functionlist.h tml Tutorial: http://www.mathworks.com/help/pdf_doc/matlab/get start.pdf

Toolbox Image Processing Toolbox Image Acquisition Toolbox Video and Image Processing Blockset Iné Toolboxy Statistics, Bioinformatics, Wavelet, Fuzzy Logic, Econometrics

Image Processing Toolbox Image Analysis segmentácia, matematická morfológia, extrakcia príznakov, detekcia hrán Spracovanie obrazu zvýšenie kontrastu, prevod medzi farebnými modelmi FFT, DCT Zobrazovanie sekvencií obrázkov a videa

MATLAB prostredie

MATLAB prostredie Command window písanie príkazov, výstupy, chyby Workspace premenné, ich hodnoty a typy Command History použité príkazy sa dajú drag and drop do command window

Demá >> demo Záložka Demos 3D Visualisation Teapot, Images and Colormaps >> help commandname >> lookfor keyword

Command window 3 + 4-7 t = 3 + 4 7 k = 3 + 4-7; k k; 3^2*4 2+2 / 1+1

Command window 1/0 (Inf) 0/0 (NaN) MATLAB je Case Sensitive! K a k sú rôzne premenné 15 miest, ale ukazuje len 5 format long / format short

Command window MATLAB má množstvo vstavaných funkcií sin, cos, tan, asin, acos sin(pi/2) log, log10, log2 log10(100)

Vektory v MATLAB-e v = [1, 2, 3, 4] v = [1 2 3 4] v = [1; 2; 3; 4] Workspace: tabuľka, graf v = start: step: end v = 2:2:9 v = [2, 4, 6, 8] v = 2:5 v = [2, 3, 4, 5]

Vektory v MATLAB-e v = linspace(1, 5, 10) v (4) = 0 v (5:7) = 0 v (1: 2: 7) = 0

Matice v MATLAB-e vytvorenie A=[1 2 3; 4 5 6; 7 8 9]; 3 x 3 špeciálne: zeros(), ones(), eye(), rand(), randn(), magic() p = zeros(3, 3) == zeros(3); o = ones(3, 3) == ones(3); r = rand(3, 3) == rand(3); r1 = randn(1,10); k = magic(3);

Matice v MATLAB-e Prístup (riadok, stĺpec) >> A(2,1) ans = 4 : celý riadok alebo stĺpec >> A(:,2) ans = 2 5 8 Interval >> A(1:2,2) ans = 2 A = 1 2 3 4 5 6 7 8 9 5

Operácie maticové: +, -, *, /, ^ Medzi prvkami:.*,./,.^, sqrt(), sin(), cos(),... size(a) rozmery sum(a) suma po stĺpcoch sum(sum(a)) suma všetkých prvkov sum(a(:))

Operácie >> A+A ans = 2 4 6 8 10 12 14 16 18 >> A*A ans = 30 36 42 66 81 96 102 126 150 >> A.*A ans = 1 4 9 16 25 36 49 64 81

Názvy premenných Názvy premenných 63 signifikantnych znakov Začína písmenom Bez diakritiky a medzier Rozlišuje veľkosť písmen Odlišné od názvov príkazov a preddefinovaných premenných (pi, i, j, eps,...) exist meno

Logické operátory Logické operátory ==, <, >, ~=, ~, find( podmienka ) vráti indexy vyhovujúcich prvkov

>> A=[7 3 5; 6 2 1] >> Idx=find(A<4) A= 7 3 5 6 2 1 Idx= 3 4 6

>> [row col]=find(a==7) row = 3 col = 1 >> [row col]=find(a>7) row = 3 A = 1 2 3 4 5 6 7 8 9 3 col = 2 3 >> Indx=find(A<5) Indx = 1 2 4 7

Graf y=x 2 x = linspace(0, 5, 100); y1 =x; plot(x,y1); grid; y2 = x.^2; y3 = x.^3; plot(x,y1, x,y2, x,y3); grid;

Polia v = zeros (1,100); Funkcie pre 1D polia: sum, max, min, sort, mean s = sum(v);

Reťazce s = 'string' l =length(s); s(3) strcmp, findstr

flow control: if switch for while break

What if... IF expression statements ELSEIF expression statements ELSE statements END

for FOR variable=expr statements END

Výpis textu fprintf ('Hello World!'); fprintf ('Hodnota x je %g', x); Nie je vhodné pre vektory \n nový riadok %g kompaktný zápis %c jeden znak %e exponenciálny zápis %s string

Timing tic; prikazy; toc; V sekundách V m-file t0 = cputime...príkazy, výpočty t1 = cputime fprintf('vypočet trval %g', t1- t0)

Alokácia premenných tic x = 0; for k = 2:100000 x(k) = x(k-1) + 5; end toc tic x = zeros(1, 100000); for k = 2:100000 x(k) = x(k-1) + 5; end toc

MATLAB špecialitka Chceme vytvoriť pole kde 1: for p = 1:1000 v(p) = (p/sin(p)+2); end 2: v = zeros (1, 1000); for p = 1:1000 v(p) = (p/sin(p)+2); end 3: p = 1:1000 v = (p./sin(p)+2)

MATLAB špecialitka Chceme vytvoriť pole kde 1: for p = 1:1000 v(p) = (p/sin(p)+2); end 2: v = zeros (1, 1000); for p = 1:1000 v(p) = (p/sin(p)+2); end 3: p = 1:1000 v = (p./sin(p)+2) 1.82 s 0.16 s 0.0083 s

Obrázky binárne: {0,1} šedotónové: uint8, double... RGB: m n 3

Obrázky binárne: {0,1} šedotónové: uint8, double... RGB: m n 3

Obrázky binárne: {0,1} šedotónové: uint8, double... RGB: m n 3

Import a Export img = imread('apple.jpg'); dim = size(img); figure; imshow(img); imwrite(img, 'output.bmp', 'bmp');

Šedotónový obraz row = 256; col = 256; img = zeros(row, col); img(100:105, :) = 0.5; img(:, 100:105) = 1; figure; imshow(img);

A a B veľkosti (540*380), zmiešanie apple = imread( apple.jpg'); orange = imread( orange.jpg ); Hrubá sila % measure performance using stopwatch timer tic for i = 1 : size(apple, 1) for j = 1 : size(apple, 2) for k = 1 : size(apple, 3) output(i, j, k) = (apple(i, j, k) + orange(i, j, k))/2; end end end toc? sekúnd

A a B veľkosti (540*380), zmiešanie apple = imread( apple.jpg'); orange = imread( orange.jpg ); Maticový prístup tic Output = (apple + orange)/2; toc? sekúnd

Optimalizácia výkonu Rýchle vektorové a maticové operácie Pomalé cykly Ako vektorizovať kód http://www.mathworks.com/support/technotes/1100/1109.html

Užitočné skratky Ctrl r zakomentovať vyznačené Ctrl t odkomentovať vyznačené Ctrl c prerušiť bežiaci program/príkaz why, spy

Úloha Rozdiel medzi obrázkami Načítať do matice A a B Zmeniť na double // A=double(A); Odčítať Zobraziť absolútnu hodnotu rozdielového obrázku // abs(c)