Úvod do Matlabu. Vít Vondrák Katedra aplikované matematiky FEI, VŠB-TU Ostrava

Podobné dokumenty
Stručný návod k programu Octave

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í

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

X37SGS Signály a systémy

Základy algoritmizace a programování

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

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

MATLAB základy. Roman Stanec PEF MZLU

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

Kreslení grafů v Matlabu

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

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

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

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

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

Příklady k druhému testu - Matlab

BPC2E_C08 Parametrické 3D grafy v Matlabu

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 +

Univerzitní licence MATLABu. Pište mail na: se žádostí o nejnovější licenci MATLABu.

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Základy algoritmizace a programování

Úvod do lineární algebry

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

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

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

TECHNICKÁ UNIVERZITA V LIBERCI

1. Vsechny promenne jsou matice. Skalar je a(1,1). Vektor je bud' radkovy a(1,5) nebo sloupcovy

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

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

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

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Příklad elektrický obvod se stejnosměrným zdrojem napětí

MAXScript výukový kurz

Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

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

Příklady k prvnímu testu - Matlab

Aplikovaná numerická matematika - ANM

SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU MODELOVÁNÍ MATLABEM

Programovací jazyk Pascal

Algoritmizace a programování

0.1 Úvod do lineární algebry

Matematika. Kamila Hasilová. Matematika 1/34

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

Základy algoritmizace a programování

Úvod do programu MAXIMA

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

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

C2110 Operační systém UNIX a základy programování

Cvičné texty ke státní maturitě z matematiky

Ekonomická fakulta, Jihočeská univerzita v Českých Budějovicích. MATEMATICKÝ SOFTWARE MAPLE - MANUÁL Marek Šulista

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

PPEL_4_cviceni_MATLAB.txt. % 4. cvičení z předmětu PPEL - MATLAB. % Lenka Šroubová, ZČU, FEL, KTE %

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

Nápověda k aplikaci GraphGUI

0.1 Úvod do lineární algebry

VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

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

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

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

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Pro tvorbu samostatně spustitelných aplikací je k dispozici Matlab library.

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

Programování v chemii (MATLAB)

Tabulkový procesor. Základní rysy

Algoritmizace a programování

Úvod do programovacích jazyků (Java)

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

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

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

Soustavy lineárních rovnic

MATLAB, v , Release 13

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

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

P íklady k druhému testu - Matlab

Cvičné texty ke státní maturitě z matematiky

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

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

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

Úvod do práce s Matlabem

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

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.

Matematika B101MA1, B101MA2

ALGEBRA. Téma 5: Vektorové prostory

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

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

DEFINICE Z LINEÁRNÍ ALGEBRY

Operace s maticemi. 19. února 2018

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

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

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

1 Polynomiální interpolace

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

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

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

MATURITNÍ TÉMATA Z MATEMATIKY

Transkript:

Úvod do Matlabu Vít Vondrák Katedra aplikované matematiky FEI, VŠB-TU Ostrava

Co je Matlab? Interaktivní softwarový balík MathWorks Inc. Matlab=MATrix LABoratory Základním typem proměnné je matice Číslo je maticí typu 1x1 Obsahuje řadu příkazů pro správu proměnných, vstupněvýstupní operace, základní operace algebry vektorů matic a příkazy vyšší matematiky. Výkonné nástroje pro zpracování grafických výstupů. http://www.mathworks.com Interaktivní vykonávání příkazů Vykonávání skriptů tj. posloupností matlabovských příkazů tzv. m-souborů Programování vlastních matlabovských funkcí tzv. m- funkcí Programování funkcí v jazyce C nebo Fortran Možno doplňovat o toolboxy obsahující nástroje pro řešení některých praktických matematických, inženýrských či statistických problémů.

Matlab uživatelské rozhraní Příkazové okno Příkazový řádek Vykonávání zadaných instrukcí Okno historie příkazů Možno přetahovat příkazy pomocí myši do příkazového okna Okno pracovního prostředí Správa proměnných pracovního prostředí a aktuálního diskového adresáře

Definice proměnných Definice proměnné probíhá automaticky přiřazením její hodnoty pomocí znaménka rovnosti: >>a=3 K definici vektoru používáme hranaté závorky. Mezery nebo čárky oddělují prvky v řádku. >>v=[3 5 7] >>w=[1,5,1+2*i] Imaginární jednotka se zapisuje pomocí i Definice matice je stejná jako definice vektoru s tím, že řádky se oddělují pomocí středníku nebo klávesou <Enter>. >>A=[1 2 3; 4 5 6] nebo >>B=[1 2 3 4 5 6] Definice textové proměnné se provádí pomocí apastrofů: >>c= Dobre rano Matlabe!' K definici matic můžeme taktéž využít některou ze standardních funkcí Matlabu, která generuje matice. >>I=eye(3) >>O=zeros(2,3) >>e=ones(1,4); Přidáme-li za příkaz středník, bude potlačen výstup. >>f=ones(1,10);

Správa proměnných >>who nebo >>whos Tento příkaz vypíše všechny aktuálně definované proměnné >>size(name) Vrací rozměry proměnné name. >>clear name Vymaže proměnnou name. >>save file name1,name2, Uloží proměnné name1, name2, do souboru file.mat. Pokud není uveden file uloží do souboru matlab.mat. Pokud není uvedena žádná proměnná uloží všechny. >>load file Nahraje proměnné ze souboru file.mat. Příkazy load i save lze použít s volbou ASCII, pak jsou proměnné uloženy do textového souboru. Např.: >>save ASCII A.txt A Data uložená v různých formátech je možné importovat do Matlabu pomocí >>uiimport Všechny zadané příkazy včetně jejich odezvy mohou být průběžne ukládány do souboru name pokud použijete >>diary name

Přístup k prvkům matic A(2,1) Vypíše prvek z 2 řádku a 1 sloupce matice A. A(2,[1 3]) Vypíše 1. a 3. prvek z 2. řádku. a:d:b definuje aritmetickou posloupnost s prvním prvkem rovným a a posledním rovným b. d je diference mezi sousedními prvky posloupnosti. Pokud je d=1 stačí napsat a:b. Pokud chceme vypsat 1. řádek matice A pak stačí použít jeden z příkazů A(1,1:3) A(1,1:end) A(1,:) Obdobně můžeme získat i libovolnou submatici. Např. minor matice A příslušný prvku (1,1) získáme příkazem M11=A(2:end,2:end)

Maticové operace + operátor sčítání. - operátor odečítání. * operátor násobení. ^ operátor mocnění. / operátor dělení zprava. (a/b = a*b^(-1), 2/3=0.6667) \ operátor dělění zleva. (a\b = a^(-1)*b, 2\3=1.5) operátor transponování Při použití operátorů pro operace mezi dvěmi skaláry je význam operací zřejmý. Pro operace matice-matice provede Matlab tuto maticovou operaci je-li definována. Obdobně pro operace vektorvektor popř. matice-vektor. K provedení operací mezi jednotlivými prvky matice či vektoru musíme umístit. před operátor. u=[1 2 3]; u*u u.*u Je možno využívat celou řadu běžných funkcí jako cos, sin, sqrt,...

Práce s polynomy roots(c) kde c je vektor koeficientů polynomu seřazených sestupně podle mocnin x, n n 1 tj. p( x) = cn x + cn 1 x +... + c1x + c0 Pomocí funkce polyval můžeme vyhodnotit funkční hodnotu polynomu. Syntaxe je: polyval(c,x) Kde x je hodnota argumentu a c jsou koeficienty. Např. >>c=[1 1 0-1] >>x=roots(c) >>polyval(c,x)

Soustavy lineárních rovnic Matlab má taktéž definovánu i Gaussovu eliminaci pro řešení soustav lineárních rovnic. Např.: 3x + 5y = 6 4x + 8y = 1 definujme >>A=[3 5; 4 8] >>b=[6 1] Nyní musíme transponovat vektor b abychom dostali korektní maticový zápis výše uvedené soustavy. >>b=b' Pak soustavu vyřešíme pomocí operátoru dělení zleva >>x=a\b Budeme-li chtít řešit soustavu LU rozkladem můžeme použít funkci lu: >>[L,U]=lu(A) >>y=l\b >>x=u\y

Vlastní čísla a vektory Pokud budeme chtít nalézt vlastní čísla a vlastní vektory matice, můžeme využít funkce eig. >>[V,L]=eig(A); >>diag(l) >>V kde diag(l) vypíše vlastní čísla, která jsou na diagonále matice L a matice V obsahuje vlastní vektory po sloupcích. Zkouška: >>A*V-V*L Funkce poly vrací koeficienty charakteristického polynomu >>c=poly(a) >>l=roots(c) Kontrola: >>trace(a),sum(l) >>det(a),l(1)*l(2)

2D grafika Základním grafickým příkazem v Matlabu je plot. Syntaxe tohoto příkazu je plot(x,y,options) kde x jsou x-souřadnice bodů které se mají vykreslovat a y jsou jejich odpovídající y-souřadnice. Options definuje jakým způsobem se body budou vykreslovat (určují barvu a styl vykreslení bodů). Barvy: k-černá, b-modrá, r-červená, g-zelená, w-bílá Styl: - body spojí čarou,-- přerušovanou,* body vykreslí jako hvězdičky, + křížky, o kolečka. >>plot([10 15],[13 5], r* ) Pro popis grafického výstupu můžete použít taktéž následující příkazy: >>xlabel('toto je osa x') >>ylabel('toto je osa y') >>title('použití funkce plot.') Velmi důležitý je příkaz hold on, který zruší překreslování grafického okna a umožní tak výstup více grafických příkazů do jednoho okna. hold off vrátí vše do původního stavu. >>figure vytvoří nové grafické okno. Další možnosti úprav grafického výstupu jsou dostupná přes menu grafického okna

Graf funkce Chceme-li vykreslit graf funkce musíme nejprve diskretizovat osu x a v těchto bodech vypočíst funkční hodnoty. Mějme tedy funkci y=xsin(x) jejíž graf chceme vykreslit na intervalu <-1,1>. >>xx=-1:0.05:1; >>yy=xx.*sin(xx); >>plot(xx,yy) Můžeme ovšem využít i funkci ezplot >>ezplot( x*sin(x),[-1 1])

Graf křivky zadané parametricky Mějme dánu křivku x=2cos(t) y=3sin(t), 0 t<2π. Křivku vykreslíme následovně: >>t=0:0.1:2*pi; >>x=2*cos(t); >>y=3*sin(t); >>plot(x,y, g-- ) Takto vykreslená křivka je ovšem zobrazena deformovaně vlivem různých měřítek na jednotlivých osách. Toto můžeme napravit příkazem >>axis equal Pro vykreslení je možné opět využít funkci ezplot >>ezplot('2*cos(x)','3*sin(x)',[0 2*pi])

3D grafika Základním příkazem podobně jako v případě 2D grafiky je plot3. Jeho syntaxe je intuitivně zřejmá: plot3(x,y,z,options) Další příkazy: view(az,v) Určuje pohled na 3D objekt. view(3) je standardní 3D pohled, view(2) je pohled na xy rovinu. zlabel(text) Popisuje osu z. x z Střed okna az v Pozorovací bod y

Graf parametrické křivky ve 3D Obdobně jako ve 2D můžeme i v 3D vykreslovat křivky dané parametricky. >>t=0:0.1:8*pi; >>x=cos(t); >>y=sin(t); >>z=t; >>plot3(x,y,z) >>view(2) Stejný graf obdržíme použitím funkce ezplot3 >>ezplot3( cos(t), sin(t), t,[0 8*pi])

Graf funkce 2 proměnných Budeme-li chtít zobrazit funkci f(x,y)=exp(-x^2-y^2) je postup následující: Určíme intervaly a dělení os x a y. >>x=-1:0.1:1; >>y=-1:0.1:1; Pak vytvoříme síť na které budeme funkci zobrazovat. >>[xx,yy]=meshgrid(x,y); Vypočítáme funkční hodnoty funkce nad touto sítí. >>zz=exp(-xx.^2-yy.^2); Vykreslíme graf pomocí >>mesh(xx,yy,zz) nebo plochu >>surf(xx,yy,zz) K vykreslení je možné taktéž použít funkce ezmesh či ezsurf >> ezmesh('exp(-x.^2-y.^2)', [-1,1,-1,1])

Programování v Matlabu Skripty Samostatné textové soubory obsahující posloupnost matlabovských příkazů Soubor musí mít příponu.m Všechny proměnné definované ve skriptu mají platnost i v prostředí Matlabu Spouští se zadáním názvu souboru (bez přípony). Prohledává se aktuální adresář + adresáře uvedené v proměnné path Funkce Samostatný textový soubor obsahující definici funkce ve formě function [op1,...,opm] =name(ip1,,ipn) Pak následuje posloupnost matlabovských příkazů. Všechny proměnné mají pouze lokální platnost (může být změněna pomocí deklarace global) Funkce se volá příkazem >>[o1,,om]=name(i1,,in)

Řídící příkazy for cyklus for i=a:d:b, posloupnost příkazů, end while cyklus while podmínka, posloupnost příkazů, end if příkaz if podmínka posloupnost příkazů elseif podmínka posloupnost příkazů else posloupnost příkazů end podmínka se testuje na nenulovost (logické ano ) či nenulovost (logické ne ) Je možné používat následující logické operátory: & (and), (or), ~ (not) Relační operátory: <, <=, >=, >=, ==, ~=