Úvod do práce s Matlabem

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

Numerická matematika Řešené příklady s Matlabem a aplikované úlohy

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

X37SGS Signály a systémy

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

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

MODAM Mgr. Zuzana Morávková, Ph.D.

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

Algoritmizace a programování

x (D(f) D(g)) : (f + g)(x) = f(x) + g(x), (2) rozdíl funkcí f g znamená: x (D(f) D(g)) : (f g)(x) = f(x) g(x), (3) součin funkcí f.

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

Kreslení grafů v Matlabu

GeoGebra známá i neznámá (pokročilí)

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

Základy algoritmizace a programování

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

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

Numerická matematika: Pracovní listy

Cyklometrické funkce

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í

MATEMATIKA I. prof. RNDr. Gejza Dohnal, CSc. II. Základy matematické analýzy

Stručný návod k programu Octave

Operace s vektory a maticemi + Funkce

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 +

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

0.1 Úvod do matematické analýzy

MODAM Mgr. Zuzana Morávková, Ph.D.

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

soubor FUNKCÍ příručka pro studenty

Kapitola 1: Reálné funkce 1/13

Bakalářská matematika I

Sada 1 - Základy programování

Matematika (KMI/PMATE)

Příklady k druhému testu - Matlab

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

0.1 Funkce a její vlastnosti

Základy algoritmizace a programování

(FAPPZ) Petr Gurka aktualizováno 12. října Přehled některých elementárních funkcí

MODAM Ing. Schreiberová Petra, Ph.D.

Základy algoritmizace a programování

Matematika 1. Matematika 1

Příklady k prvnímu testu - Matlab

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

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

Matematika I pracovní listy

Matematika I (KMI/PMATE)

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

2. cvičení z ZI1 - Excel

Numerická matematika: Pracovní listy

Kapitola1. Lineární lomená funkce Kvadratická funkce Mocninná funkce s obecným reálným exponentem Funkce n-tá odmocnina...

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

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

Příloha Jazyk Coach

předmětu MATEMATIKA B 1

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

MS EXCEL_vybrané matematické funkce

Programy na PODMÍNĚNÝ příkaz IF a CASE

Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití

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

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

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),

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

B) výchovné a vzdělávací strategie jsou totožné se strategiemi vyučovacího předmětu Matematika.

Matematika B101MA1, B101MA2

Operace s maticemi. 19. února 2018

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

Funkce jedn e re aln e promˇ enn e Derivace Pˇredn aˇska ˇr ıjna 2015

Operace s maticemi

Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1

6. Bez použití funkcí min a max zapište formulí predikátového počtu tvrzení, že každá množina

MATURITNÍ TÉMATA Z MATEMATIKY

MATrixLABoratory letný semester 2004/2005

Gymnázium Jiřího Ortena, Kutná Hora

MENDELOVA UNIVERZITA V BRNĚ LDF MT MATEMATIKA VEKTORY, MATICE

MENDELOVA UNIVERZITA V BRNĚ LDF MT MATEMATIKA VEKTORY, MATICE

Derivace funkce. Přednáška MATEMATIKA č Jiří Neubauer

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

Číselné vektory, matice, determinanty

VĚTY Z LINEÁRNÍ ALGEBRY

Lineární algebra Operace s vektory a maticemi

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

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 =

Úvod do programu MAXIMA

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

Kapitola 1: Reálné funkce 1/13

výsledek 2209 y (5) (x) y (4) (x) y (3) (x) 7y (x) 20y (x) 12y(x) (horní indexy značí derivaci) pro 1. y(x) = sin2x 2. y(x) = cos2x 3.

Kapitola 1: Reálné funkce 1/20

Logaritmus. Logaritmus kladného čísla o základu kladném a různém od 1 je exponent, kterým. umocníme základ a, abychom dostali číslo.

8. Posloupnosti, vektory a matice

Mgr. Ladislav Zemánek Maturitní okruhy Matematika Obor reálných čísel

0.1 Úvod do lineární algebry

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

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

Základy matematiky pro FEK

I. Kalkulátor Rebell SC2040 manuál s příklady Tlačítko: MODE CLR

Školní kolo soutěže Baltík 2009, kategorie C

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

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

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:

Nerovnice, grafy, monotonie a spojitost

Transkript:

Úvod do práce s Matlabem 1 Reálná čísla 1.1 Zadávání čísel Reálná čísla zadáváme s desetinnou tečkou (.), čísla lze také zadávat v exponenciálním tvaru například číslo 0.000014 zadáme takto 1.4e-5, číslo 532300 takto 53.23E4. Pro exponent můžeme používat symbol E nebo e. Při zadávání nesmíme dělat v čísle mezeru. 1.2 Operace s čísly Pro operaci s čísly používáme následující symboly. + sčítání - odčítání * násobení / dělení ^ umocnění Tabulka 1.1: Operace s čísly Jak jsme zvyklí z matematiky, provádějí se operace v předepsaném pořadí, nejprve operace umocnění, pak násobení a dělení a nakonec sčítání a odčítání. Stejně tak v Matlabu platí stejná priorita operací a používáme kulaté závorky (žádné jiné pro tento účel nelze použít). operace priorita ^ 1. * / 2. + - 3. Tabulka 1.2: Priorita operací 1.3 Elementární matematické funkce Nyní uvedeme seznam elementárních funkcí. sin(x) sinus: sin(x) cos(x) kosinus: cos(x) tan(x) tangens: tg(x) cot(x) kotangens: cotg(x) asin(x) arkussinus: arcsin(x) acos(x) arkuskosinus: arccos(x) atan(x) arkustangens: arctg(x) acot(x) arkuskotangens: arccotg(x) Tabulka 1.3: Goniometrické a cyklometrické funkce log(x) přirozený logaritmus: ln(x) log10(x) dekadický logaritmus: log(x) log2(x) logaritmus při základu 2: log 2 (x) exp(x) exponeciální funkce: e x pow2(x) exponeciální funkce při základu 2: 2 x Tabulka 1.4: Logaritmické a exponenciální funkce 1

sqrt(x) abs(x) sign(x) Tabulka 1.5: Ostatní funkce druhá odmocnina: x abolutní hodnota: x funkce signum Funkce můžeme použít i pro matice, funkce se pak vyčíslí pro jednotlivé prvky matice. Pozor na funkci x^(1/3) (tj. 3 x ) a funkci acot(x) Poznámka: Vlastní funkci si zadáme příkazem inline, např. funkci f(x) = sin(x) + x 2 zadáme takto f=inline( sin(x)+x^2 ) 1.4 Konstanty a speciální proměnné Matlab má k dispozici několik konstant a speciálních proměnných. pi Ludolfovo číslo π = 3.141592... inf nekonečno NaN neurčitý výraz i imaginární jednotka Tabulka 1.6: Speciální proměnné a konstanty 1.5 Zaokrouhlování Čísla můžeme zaokrouhlit několika způsoby. round(x) floor(x) ceil(x) zaokrouhlí číslo x na celé číslo (čísla menší než *.5 směrem dolů a ostatní směrem nahoru) zaokrouhlí číslo x na nejbližší nižší celé číslo (dolů) zaokrouhlí číslo x na nejbližší vyšší celé číslo (nahoru) Tabulka 1.7: Zaokrouhlování čísel Funkce pro zaokrouhlování můžeme použít i pro matice, funkce se pak vyčíslí pro jednotlivé prvky matice. 2 Matice a vektory 2.1 Zadávání matic a vektorů Matici zadáváme v hranatých závorkách, prvky na řádku oddělujeme mezerou nebo čárkou. Jednotlivé řádky pak středníkem nebo klávesou ENTER. Příklady 2.1. Zadáme matici A = středníkem: 0 9 3 5 3 2, prvky na řádku oddělíme mezerou a jednotlivé řádky 2

>> A=[3 5; 0 9; -3 2] A~= 3 5 0 9-3 2 2.2 Funkce pro tvorbu matic Matici se speciálními prvky lze vytvořit i pomocí následujících príkazů. zeros(m,n) ones(m,n) eye(m,n) rand(m,n) nulová matice typu m n matice jedniček typu m n jednotková matice typu m n matice náhodných čísel z intervalu (0, 1) typu m n Tabulka 2.1: Funkce pro tvorbu matic Pokud se použijí funkce zeros, ones, eye, rand pouze s jedním parametrem (například zeros(3)), vznikne čtvercová matice příslušného řádu. 2.3 Vygenerování aritmetické posloupnosti Potřebujeme-li vygenerovat vektor čísel, která jsou prvky aritmetické posloupnosti, pak to lze v Matlabu udělat pomocí dvojteček takto: prvni_clen:diference:posledni_clen 2.2. Potřebujeme vektor (4, 7, 10, 13, 16, 19, 22) tedy čísla od 4 do 22 s krokem 3. Budeme postupovat takto: >> 4:3:22 ans = 4 7 10 13 16 19 22 Pokud se diference vynechá, Matlab ji bere jako rovnu 1. >> 2:10 ans = 2 3 4 5 6 7 8 9 10 Diference může být i záporné číslo. >> 13:-3:0 ans = 13 10 7 4 1 Diference může být i desetinné číslo. 3

>> 5:0.2:6 ans = 5.0000 5.2000 5.4000 5.6000 5.8000 6.0000 2.4 Operace s maticemi a vektory Pro operaci smaticemi a vektory používáme následující symboly: + součet matic (např. A+B je matice s prvky a ij + b ij ) - rozdíl matic (např. A-B je matice s prvky a ij b ij ) * součin matic řadek krát sloupec / pravé maticové dělení (např. A/B je matice A B 1 ) \ levé maticové dělení (např. A\B je matice A 1 B) ^ mocnina matic (např. A^k je A A... A (k-krát)) transponovaná matice, (např. A je matice s prvky a ji ) Tabulka 2.2: Operace s maticemi.* součin matic prvek po prvku (např. A.*B je matice s prvky a ij b ij )./ pravé dělení prvek po prvku (např. A./B je matice s prvky a ij /b ij ).\ levé dělení prvek po prvku (např. A.\B je matice s prvky b ij /a ij ).^ mocnina (např. A.^k je matice s prvky (a ij ) k ). transponovaná matice (např. A je matice s prvky a ji ) Tabulka 2.3: Operace s maticemi (používáme zejména pro tabelaci) 2.3. Potřebujeme zjistit hodnotu funkce f(x) = x 4 + x 1 x 2 +2 >> x=1:0.2:2 x = 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 >> y=x.^4+(x-1)./(x.^2+2) y = 1.0000 2.1317 3.9426 6.6852 10.6503 16.1667 v bodech 1, 1.2, 1.4,..., 2 Čísla si vypíšeme do tabulky >> [x y ] ans = 1.0000 1.0000 1.2000 2.1317 1.4000 3.9426 1.6000 6.6852 1.8000 10.6503 2.0000 16.1667 4

2.5 Funkce lineární algebry pro matice size(a) typ matice A (počet řádků, počet sloupců) numel(a) počet prvků A det(a) determinant matice A rank(a) hodnost matice A norm(a) norma matice A inv(a) inverzní matice A rref(a) převedení matice A na horní trojúhelníkový tvar pomocí eliminace eig(a) vlastní čísla a vlastní vektory matice A Tabulka 2.4: Funkce pro matice 2.6 Manipulace s maticemi tril(a) dolní trojúhelníková matice k matici A triu(a) horní trojúhelníková matice k matici A diag(a) hlavní diagonála matice A diag(v) matice, která má na hlavní diagonále vektor v, a jinde nuly Tabulka 2.5: Manipulace s maticemi 2.7 Práce s daty max(a) min(a) sum(a) prod(a) mean(a) Tabulka 2.6: Práce s daty maximum ve sloupcích matice A minimum ve sloupcích maticea součty prvků ve sloupcích matice součiny prvků ve sloupcích matice aritmetický průměr ve sloupcích Pokud použijeme funkce z tabulky 2.6 pro vektory, aplikuje se na jednotlivé prvky vektoru, bey ohledu na to, zda je vektor sloupcový nebo řádkový. 3 Relační a logické operátory 3.1 Pravda, nepravda V Matlabu neni speciální typ pro logické proměnné, pravda má hodnotu 1 a nepravda hodnotu 0. 3.2 Relační operátory Relační operátory lze použít na matice, kde se pak srovnávají prvek po prvku. == je rovno = ~= není rovno < je menší < > je větší > <= je menší nebo rovno <= je větší nebo rovno Tabulka 3.1: Relační operátory 5

3.3 Logické operátory Vstup not and or xor A B ~A A&B A B xor(a,b) 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 0 Tabulka 3.2: Logické operátory Je možné se setkat s oběma zápisy. Tj. A&B je totéž jako and(a,b), A B je totéž jako or(a,b) a ~A je totéž jako not(a). Logický výraz se vyhodnocuje zleva doprava. 4 Dvojrozměrné grafy 4.1 Vykreslení grafu plot(x,y) graf bodů o souřadnicích (x, y) fplot( f,[a,b]) graf funkce f na intervalu a, b Tabulka 4.1: Dvojrozměrné grafy Vstupem příkazu plot jsou souřadnice bodů, které se pak spojí čarou. Chceme-li vykreslit graf funkce, lze použít i příkaz fplot, první parametrem je funkční předpis v apostrofech a druhým je interval, na kterém chceme graf vykreslit, třetím nepovinným parametrem je specifikace. Příklady 4.1. Vykreslíme graf funkce y = x 2 na intervalu 4, 4 pomocí příkazu plot. Vstupem příkazu plot jsou souřadnice bodů, které se pak spojí čarou. Nejprve si do proměnné x uložíme souřadnice x, které vygenerujeme jako 100 bodů mezi 4 a 4: >> x=linspace(-4,4); Pak vytvoříme souřadnice y jako funkční hodnoty funkce y = x 2 v bodech x: >> y=x.^2; A vykreslíme graf: >> plot(x,y) Po vypsání příkazu se zobrazí nové okno Figure No. 1, které se stane aktivním. 6

16 14 12 10 8 6 4 2 0 4 3 2 1 0 1 2 3 4 obr. 4.1: Graf funkce y = x 2 Pokud je toto okno otevřené, graf se překreslí, ale okno se nestane aktivním. V tomto případě okno učiníme aktivní kliknutím na tlačítko Figure No. 1 na hlavním panelu ve W indows (obvykle je umístěn dole). 4.2. Chceme-li vykreslit graf funkce, lze použít i příkaz fplot, první parametrem je funkční předpis v apostrofech a druhým je interval, na kterém chceme graf vykreslit. Zobrazíme graf funkce y = sin(x) x na intervalu 20, 20 : >> fplot( sin(x)/x,[-20,20]) 1 0.8 0.6 0.4 0.2 0 0.2 0.4 20 15 10 5 0 5 10 15 20 obr. 4.2: Graf funkce y = sin(x) x Chceme-li graf vykreslit jinak než modrou plnou čárou, použijeme tzv. specifikaci grafu. Pro specifikaci můžeme použít libovolnou kombinaci voleb z prvního, druhého a třetího sloupce tabulky 4.2 (v uvedeném pořadí), přičemž některou lze vynechat. Specifikaci uvádíme jako řetězec, tj. do apostrofů a je to třetí nepovinný parametr příkazu plot a fplot. 7

Například červenou čárkovanou čáru vytvoříme specifikací r--, zelené kroužky go, žlutou čáru s trojúhelníčky yv-. Barvy Symboly Typy čar b modrá. tečky - plná g zelená o kroužky : tečkované r červená x křížky -. čerchovaná c světlé modrá + křížky + -- čárkovaná m fialová * hvězdičky y žlutá s čtverce k černá d kosočtverce v trojúhelníky (dolu) ^ trojúhelníky (nahoru) < trojúhelníky (vlevo) > trojúhelníky (vpravo) p pěticípé hvězdy h šesticípé hvězdy Tabulka 4.2: Specifikace grafu 4.3. Ukážeme si graf funkce y = sin(2x) na intervalu π, π černou tečkovanou čarou. >> x=linspace(-pi,pi); >> y=sin(2*x); >> plot(x,y, k: ) 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 4 3 2 1 0 1 2 3 4 obr. 4.3: Graf funkce y = sin(2x) 4.4. Specifikace pomocí symbolů se často používá chceme-li zobrazit diskrétní data. Máme zadané hodnoty v tabulce, a zobrazíme je jako hvězdičky. t 1 3 5 7 10 14 15 s 19 17 18 20 16 22 19 >> t=[1 3 5 7 10 14 15]; >> s=[19 17 18 20 16 22 19]; >> plot(t,s, h ) 8

22 21 20 19 18 17 16 0 5 10 15 obr. 4.4: Graf 4.5. Jsou-li x-ové souřadnice čísla 1, 2, 3,... můžeme je v příkazu plot vynechat. den 1 2 3 4 5 6 7 8 9 10 11 teplota 17 21 19 23 16 21 19 19 15 23 20 >> teplota=[17 21 19 23 16 21 19 19 15 23 20]; >> plot(teplota) 23 22 21 20 19 18 17 16 15 1 2 3 4 5 6 7 8 9 10 11 obr. 4.5: Graf teplot 4.6. Při volbě intervalu, na kterém vykreslujeme graf musíme být obezřetní a brát v úvahu definiční obor funkce. Zobrazíme si graf funkce y = ln(x), víme, že definiční obor je (0, ), zobrazíme si tedy graf na intervalu, který lezží v definičním oboru, například 0.0001, 3 : >> fplot( log(x),[0.0001,3]) 9

2 0 2 4 6 8 10 0.5 1 1.5 2 2.5 3 obr. 4.6: Graf funkce Ukážeme si, co by se stalo, kdybych nechali graf zobrazit na intervalu 3, 3, Matlab vypíše chybovou hlášku, >> fplot( log(x),[-3,3]) Warning: Imaginary parts of complex X and/or Y arguments ignored. > In C:\MATLAB6P1\toolbox\matlab\specgraph\fplot.m at line 146 4.2 Více grafů najednou hold subplot(m,n,k) vykreslení grafů do jednoho obrázku, nastavením on tuto vlastnost zapneme, off vypneme více obrázků do jednoho okna Tabulka 4.3: Více grafů do jednoho obrázku nebo více obrázků do jednoho okna Pokud chceme vykreslit více grafů do jednoho obrázku, použijeme příkaz hold. Příklady x -4 2 3 7 10 4.7. Máme-li naměřené hodnoty v tabulce: A víme že předpokládané y 9 6 0 32 89 chování této fyzikální veličiny je dáno fynkcí f = x 2 x exp(x/10) + 1. Chceme si do jednoho grafu zobrazit naměřené i teoretické hodnoty. Nejprve si zadáme data z tabulky do proměnných x,y a příkazem hold on otevřeme okno (zatím prázdné), do kterého se budou zobrazovat všechny grafy, které budeme vykreslovat: >> x=[1 3 7 9 10]; >> y=[9 6 0 32 89]; >> hold on Vykreslíme data z tabulky jako červené hvězdičky: >> plot(x,y, r* ) a graf teoretických hodnot: 10

>> fplot( x^2-x*exp(x/10)+1,[-5,10]) >> hold off Nyní si ukážeme jak to vyřešíme pouze pomocí příkazu plot, >> x=[1 3 7 9 10]; >> y=[9 6 0 32 89]; >> xg=linspace(1,10); >> yg=xg.^2-xg.*exp(xg./10)+1; >> plot(x,y, *,xg,yg, - ) 4.3 Nastavení grafu Do grafu můžeme přidat popisy os, nadpis, text na libovolné místo, také lze měnit rozsah os. axis([x1,x2,y1,y2]) rozsah os pro první proměnnou od x1 do x2, pro druhou od y1 do y2 zoom kliknutím levým tlačitkem myši do obrázku se zvětší detail, pravým se lze vracet grid zobrazení mřížky do grafu title( text ) titulek obrázku xlabel( text ) popis x-ové osy ylabel( text ) popis y-ové osy text(x1,y1, text ) umístění textu xxx na pozici x1, y1 legend( text ) popisy k více grafům v jednom obrázku Tabulka 4.4: Nastavení grafu 11