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

Podobné dokumenty
X37SGS Signály a systémy

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

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

Grafické výstupy v Octave/Matlabu a GnuPlotu

BPC2E_C08 Parametrické 3D grafy v Matlabu

Základy algoritmizace a programování

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

Základy algoritmizace a programování

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

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

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í

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

Nápověda k aplikaci GraphGUI

Příklady k druhému testu - Matlab

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

. Poté hodnoty z intervalu [ 1 4, 1 2. ] nahraďte hodnotami přirozeného logaritmu.

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

Kreslení grafů v Matlabu

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

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

MATLAB základy. Roman Stanec PEF MZLU

Histogram. 11. února Zadání

Stručný návod k programu Octave

Excel tabulkový procesor

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

E+034 = ; = e E+034

Visualizace a animace. Jan Velechovský. Maple. plots Odkazy. Matlab. Animace Odkazy IDL. Odkazy. Gnuplot. 10. prosince Animace.

smaže n-tý sloupec matice A vybere hodnotu 6.,1.,3.,2.prvku vektoru a a1 =

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

Modelování ve výpočtových software

Příklady k prvnímu testu - Matlab

II. Úlohy na vložené cykly a podprogramy

Další nutný soubor je laydiv.js, ve kterém jsou uloženy funkce pro zobrazování virů na ploše a funkce pro odkaz na Teachers Guide.

Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97. Vybrané části Excelu. Ing. Petr Adamec

11MAMY LS 2017/2018. Úvod do Matlabu. 21. února Skupina 01. reseni2.m a tak dále + M souborem zadané funkce z příkladu 3 + souborem skupina.

Zdrojem většiny příkladů je sbírka úloh 1. cvičení ( ) 2. cvičení ( )

Pracovní text a úkoly ke cvičením MF002

SEMESTRÁLNÍ PRÁCE Z X37SAS Zadání č. 7

GUI APLIKACE PRO VÝUKU AUTOMATIZACE

Základy zpracování obrazu

2. Numerické výpočty. 1. Numerická derivace funkce

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.

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

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 +

Excel - pokračování. Př. Porovnání cestovních kanceláří ohraničení tabulky, úprava šířky sloupců, sestrojení grafu

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

Výukový materiál pro projekt Perspektiva 2010 reg. č. CZ.1.07/1.3.05/ EXCEL příklad. Ing. Jaromír Bravanský, 2010, 6 stran

UniLog-D. v1.01 návod k obsluze software. Strana 1

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

oblasti je znázorněn na obr Komplexní obálku můžeme rozepsat na její reálnou a

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

NPGR032 Cv úvod

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

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

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

P íklady k druhému testu - Matlab

2. cvičení z ZI1 - Excel

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Naučte se víc... Microsoft Office Excel 2007 PŘÍKLADY

Tabulkové processory MS Excel (OpenOffice Calc)

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Reliance 3 design OBSAH

Nápověda ke cvičení 5

6. Statistica (pokračování) Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová

MIKROTHERM 825. Monitorovací program MT825C1

Excel tabulkový procesor

POČÍTAČOVÁ GRAFIKA. Počítačová grafika 1

Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami.

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

Zadání soutěžních úloh

Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Kateřina Raichová. Materiál je publikován pod licencí Creative Commons.

Standardně máme zapnutý panel nástrojů Formátování a Standardní.

Soukromá střední odborná škola Frýdek-Místek, s.r.o.

Tabulkový procesor Excel tvorba grafů v Excelu

Programování v chemii (MATLAB)

Operace s vektory a maticemi + Funkce

MODAM Popis okna. 2 Jana Bělohlávková, Katedra matematiky a deskriptivní geometrie, VŠB - TU Ostrava

UniLog-L. v0.81 návod k obsluze software. Strana 1

MS EXCEL. MS Excel

Studijní opory k předmětu 6AA. 6AA Automatizace. Studijní opory k předmětu. Ing. Petr Pokorný 1/40 6AA AUTOMATIZACE 6AA - cvičení

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako.

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

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.

0.1 Funkce a její vlastnosti

EXCELentní tipy a triky pro mírně pokročilé. Martina Litschmannová

zpracováním dat, o kterém jsme hovořili v předchozí kapitole, úzce souvisí grafy.

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

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

Matematika (KMI/PMATE)

MS POWERPOINT. MS PowerPoint

Pokyny pro obsluhu programu. EZZ01 File reader 1.3

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

MATEMATICKÁ ANALÝZA A LINEÁRNÍ ALGEBRA PŘÍPRAVA NA ZKOUŠKU PRO SAMOUKY

Vkládání dalších objektů

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

Úvod do jazyka HTML (Hypertext Markup Language)

Základy algoritmizace a programování

Transkript:

MATLAB HRAVĚ Zdeněk Jančík, FIT VUT Brno MATLAB (MATrix LABoratory) software pro vědecké výpočty a zobrazování. 1 Několik praktických rad po startu Windows spusťte Matlab z adresáře Q:\MATLAB dvojitým kliknutím na jeho ikonu. Chybová hlášení ignorujte. v Matlabu můžete zadávat příkazy pouze, je-li kursor na příkazové řádce >> ve vedlejším okně si otevřete v libovolném editoru (můžete použít i vestavěný editor Matlabu, který umí obarvovat ) textový soubor, kam si vše zapisujte (příkazy, výsledky, Vaše poznámky). Příkazy můžete do Matlabu kopírovat pomocí copy (Ctrl-c) and paste (Ctrl-v). Po ukončení cvičení Vám pak zbyde přesný záznam toho, co jste dělali, a co (snad) chodilo. Obsahuje-li řádek znak %, bere se jeho část za tímto znakem jako poznámka a není Matlabem prováděna. v Matlabu je možné se k předchozím příkazům vracet pomocí. Návrat může být i selektivní, např. k již použitým příkazům plot se můžete vrátit pomocí: pl... 2 Velmi stručné základy Matlabu 1. Matlab rozlišuje v názvech proměnných malá a velká písmena, takže mujvektor MujVektor MUJVEKTOR. 2. Pomóc!!! v Matlabu: help jméno funkce a lookfor klíčové slovo na webu: http://www.mathworks.com/access/helpdesk/help/techdoc/ 3. Matlab indexuje prvky od 1!! 2.1 Proměnné 1. Typy proměných: skalární: a=1; sloupcový vektor: vecsl=[1; 2; 3] řádkový vektor: vecrad=[2.5 16e-3 85] matice: mat=[1 2 3; 4 5 6; 7 8 9] 2. Zobrazení obsahu proměnné: textové: jméno proměnné bez středníku. grafické s x-ovými souřadnicemi bodů 1,2,3,... : plot(vec) grafické se zadáním x-ové i y-ové souřadnice: plot(vecx,vecy) zjištění velikosti proměnné: length(vec) délka vektoru size(mat) počet řádků a sloupců matice (dvouprvkový vektor) 1. Naplňte skalární, vektorovou a maticovou proměnnou. Zobrazte jejich obsah jako text a graficky. 2. Jak zadáte komplexní číslo? Co je výsledkem grafického zobrazení vektoru komplexních čísel? 1

2.2 Základní operace s vektory a maticemi přičtení/odečtení/násobení/dělení skalárem vektoru nebo matice: v+s, v-s, v*s, v/s skalární součin dvou vektorů: rad v*sl v součin dvou vektorů nebo matic prvek po prvku: rad v.*rad v, sl v.*sl v, mat.*mat generování aritmetické posloupnosti: s krokem 1: min hodnota:max hodnota s volitelným krokem: min hodnota:krok:max hodnota transposice vektoru/matice: vektor, matice funkce (abs, sin, cos, log,... ) pracují většinou i s vektory či s maticemi prvek po prvku. vytvoření matice nul či jedniček: zeros(počet řádků,počet sloupců),ones(počet řádků,počet sloupců) přístup k prvkům vektorů a matic: vec(1), vec(2:5),mat(3,4), mat(3,:), mat(1:5,4) 1. Vytvořte matici o rozměrech 4 5 se všemi prvky rovnými jedné. Přičtěte ke všem prvkům 3.25, pak vynásobte všechny prvky -1.5. Zobrazte třetí a čtvrtý sloupec matice. 2. Vygenerujte funkci cos(x) v intervalu [0, 2π] a zobrazte se slušnou osou. 3 Načítání, ukládání a zobrazování dat 3.1 Textová data Pro načítání textových dat v Matlabu existuje celá řada funkcí. My si vyzkoušíme dvě - load a textread. load - načítá pouze čísla oddělená mezerami textread - umožňuje načítat data v obecném formátu (řetězce, celá čísla, desetiná čísla), dále je možno definovat odělovače, komentáře apod. % soubor my_data.txt: % 1 2 3 4 5 % 6 7 8 9 10 A = load( my_data.txt ); % soubor my_data.txt: % Sally Level1 12.34 45 Yes % Tommy Level1 15.29 18 No % nacteme [names, types, x, y, answer] = textread( my_data.txt, %s %s %f %d %s ) Ukládání textových dat funguje obdobně. Nejjednoduší funkcí je save, která slouží k uložení matice čísel do souboru. save -ASCII data.txt A; 1. Načtěte soubor s kurzem koruny k Euru kurz.dat, kde v prvních třech sloupcích je datum (23 9 2008) a v dalších sloupcích je cena při nákupu a prodeji. Zobrazte průběh obou cen do jednoho grafu. 1 2. Vygenerujte gaussovku textového souboru. σ 2π (x µ) 2 e 2σ 2 na intervalu [ 5, 5] s parametry µ = 0 a σ = 1, výsledek zobrazte a uložte do 2

3.2 Binární data Přístup k binárním datům je podobný jako v céčku. Pro otevření souboru se používá fopen, pro čtení fread a zápis fwrite. ff = fopen( test.raw, r ); s = fread(ff, [1 inf], short ); plot(s); fclose(ff); fid = fopen( out.bin, wb ); y = sin(0:pi/100:2*pi); fwrite(fid,y, float ); fclose(fid); 1. Gaussovku, kterou jste si vygenerovali v minulém příkladu uložte do binárního souboru. Zvolte jiné parametry (µ a σ). Soubor načtěte a zobrazte. 3.3 Zvuk Matlab umí načítat jednokanálové zvukové soubory ve formátu wav pomocí funkce wavread, zápis obstarává analogicky funkce wavwrite. [Y,Fs,NBITS] = wavread( test.wav ); % neco udelame wavplay(y,fs); wavwrite(y,fs,nbits, out.wav ); 1. Načtěte signál létající prase a zkuste si jej o 0,5 s zpozdit. 2. Na signál létající prase aplikujte efekt echo (nápověda: sečtěte původní signál se zeslabeným posunutým signálem). 3.4 Obraz Matlab umí pracovat se všemi základními obrazovými formáty (JPG, TIFF, PNG, GIF). Pro načítání se používá funkce imread, pro zápis imwrite. Obrazová data zobrazujeme pomocí funkce imagesc. img = imread( lena_cb.tif ); imagesc(img); colorbar; % neco udelame imwrite(img, out.png ); 1. Načtěte obrázek a zobrazte jej (nápověda: správného zobrazení barev dosáhnete pomocí funkce colormap(gray)). 2. Obrázek zesvětlete a ztmavte. Po každé úpravě výsledek zobrazte. 4 Další využití Matlabu Matlab umí vytisknout veškerou grafiku do souboru (nebo na tiskárně). Tisk do souboru je zajímavější, protože výsledky můžeme vkládat do článků (slajdů, diplomky, apod.) různé grafy a obrázky z Matlabu. Základem je funkce print. y = cos(x); plot(x,y); print -dpng cos.png; Pro uživatele systému L A TEX je jistě zajímavé, že Matlab umí grafiku vytitsknout i do vektorového formátu eps. print -deps cos-bw.eps print -depsc cos-c.eps % cernobile EPS % barevne EPS Popisky k datům se tvoří funkcí legend, k osám pomocí xlabel, ylabel a zlabel a k celému grafu pomocí title. plot(x,y); legend( cos(x) ); xlabel( x ); ylabel( y ); title( kosinusovka ); 3

Více os y dostaneme, pokud místo plot použijeme plotyy. plotyy(x,y1,x,y2); Pro zobrazení dat s velkým dynamickým rozsahem se používají logaritmické osy. Graf s logaritmickými osami se potom vykresluje pomocí funkce loglog. Funkce logspace(x,y) generuje vektor s logaritmickým rozložení hodnot od 10 x do 10 y. x = logspace(-1,2); loglog(x,exp(x)); grid on; Často také potřebujeme do jednoho obrázku vygenerovat větší množství grafů. K tomu skouží funkce subplot(m,n,p), kde m je počet grafů na výšku, n na šířku a p je pořadí grafu. y1 = sin(x); y2 = cos(x); subplot(211); plot(x,y1); subplot(212); plot(x,y2); Naopak někdy chceme generovat každý obrázek do zvláštního okna. To otevřeme pomocí funkce figure. y1 = sin(x); y2 = cos(x); figure(1); plot(x,y1); figure(2); plot(x,y2);... a to zdaleka není vše. Další zajímavé funkce si zájemci jistě najdou v nápovědě. 1. Zobrazte legendu ke grafu někde jinde, než vpravo nahoře. 2. Zobrazte obrázek s osami v milimetrech (předpokládejte hodnotu dpi = 100) a vhodnými popisky. 3. Zobrazte zvukovou nahrávku z osami v sekundách a vhodnými popisky. Řešení příkladů Velmi stručné základy Matlabu 1. A=ones(5,4); A=A+3.25; A=A.*(-1.5); A(:,3:4) 2. x=0:pi/100:2*pi; plot(x,cos(x)); Načítání a ukládání textových dat 1. load kurz.dat; s=size(kurz); t=1:s(1,1); plot(t,kurz(:,4),t,kurz(:,5)) 2. mu=0; sigma=1; x=-5:0.01:5; y=1/(sigma*sqrt(2*pi))*exp(-((x-mu).^2)/(2*sigma^2)); plot(x,y); save -ASCII gauss.txt; Načítání a ukládání binárních dat 1. fid = fopen( gauss.bin, wb ); mu=1; sigma=0.5; x=-5:0.01:5; y=1/(sigma*sqrt(2*pi))*exp(-((x-mu).^2)/(2*sigma^2)); fwrite(fid,y, float ); fclose(fid); ff = fopen( gauss.bin, r ); s = fread(ff, [1 inf], float ); plot(s);fclose(ff); Načítání a ukládání zvukových dat 1. [Y,Fs,nbits] = wavread( test.wav ); z=zeros(length(y)+fs/2,1); z(fs/2+1:fs/2+length(y)) = Y; 2. [Y,Fs,nbits] = wavread( test.wav ); z1=zeros(length(y)+fs/2,1); z2=zeros(length(y)+fs/2,1); z1(:length(y)) = Y; z2(fs/2+1:fs/2+length(y)) = Y; ech = z1 + 0.5*z2; wavplay(ech); Načítání a ukládání obrazových dat 4

1. img = imread( lena_cb.tif ); imagesc(img); colormap(gray); imagesc(img); imagesc(img*1.5); colormap(gray); imagesc(img*0.1); colormap(gray); Další využití Matlabu 1. x=0:pi/100:2*pi; y=cos(x); plot(x,y); legend( cos(x), Location, EastOutside ); 2. img = imread( lena_cb.tif ); dpi=100; s=size(img); x=1:50:s(1,1); x=x/dpi*25.4; imagesc(img); axis image; colormap(gray); title( Lena ); set(gca, XTickLabel,x); set(gca, YTickLabel,x); 3. [Y,Fs,NBITS] = wavread( test.wav ); t=1:length(y); t=t/fs; plot(t,y); title( létající prase ); xlabel( s ); 5