Základy algoritmizace a programování

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

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

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

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

AVDAT Vektory a matice

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Připomenutí co je to soustava lineárních rovnic

Základy maticového počtu Matice, determinant, definitnost

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

Matematika B101MA1, B101MA2

Soustavy lineárních rovnic-numerické řešení. October 2, 2008

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

Algoritmy a datové struktury

Co je obsahem numerických metod?

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

Soustavy lineárních rovnic-numerické řešení

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í

(Cramerovo pravidlo, determinanty, inverzní matice)

Operace s maticemi. 19. února 2018

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

Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat

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

Stručný návod k programu Octave

Aplikovaná numerická matematika - ANM

Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29

Jedná se o soustavy ve tvaru A X = B, kde A je daná matice typu m n,

Lineární algebra. Matice, operace s maticemi

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

1 Zobrazení 1 ZOBRAZENÍ 1. Zobrazení a algebraické struktury. (a) Ukažte, že zobrazení f : x

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

Numerická integrace a derivace

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

Soustavy lineárních rovnic

MATLAB základy. Roman Stanec PEF MZLU

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

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 +

8 Matice a determinanty

ČTVERCOVÉ MATICE. Čtvercová matice je taková matice, kde počet řádků je roven počtu jejích sloupců. det(a) značíme determinant čtvercové matice A

Program SMP pro kombinované studium

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

Řídicí struktury. alg3 1

1 0 0 u 22 u 23 l 31. l u11

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

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

Linearní algebra příklady

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

Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda

Základy algoritmizace a programování. 1. a 8.října 2018

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

DRN: Soustavy linárních rovnic numericky, norma

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Vlastní (charakteristická) čísla a vlastní (charakteristické) Pro zadanou čtvercovou matici A budeme řešit maticovou

Podobnost matic. Definice 8.6. Dány matice A, B M n (C). Jestliže existuje regulární matice P M n (C) tak,

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

VĚTY Z LINEÁRNÍ ALGEBRY

1/10. Kapitola 12: Soustavy lineárních algebraických rovnic

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Základy algoritmizace a programování

MATrixLABoratory letný semester 2004/2005

0.1 Úvod do lineární algebry

1. LINEÁRNÍ ALGEBRA Vektory Operace s vektory... 8 Úlohy k samostatnému řešení... 8

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

Čtvercové matice. Čtvercová matice je taková matice, jejíž počet řádků je roven počtu jejích sloupců

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Operace s maticemi

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

6. Příkazy a řídící struktury v Javě

Kapitola 11: Vektory a matice 1/19

Numerická matematika Písemky

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Soustava m lineárních rovnic o n neznámých je systém

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

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

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

Lineární algebra - I. část (vektory, matice a jejich využití)

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Úvod do programování - Java. Cvičení č.4

12. Determinanty. 12. Determinanty p. 1/25

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

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

KIV/ZI Základy informatiky MS EXCEL MATICOVÉ FUNKCE A SOUHRNY

TECHNICKÁ UNIVERZITA V LIBERCI

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

0 0 a 2,n. JACOBIOVA ITERAČNÍ METODA. Ax = b (D + L + U)x = b Dx = (L + U)x + b x = D 1 (L + U)x + D 1 b. (i) + T J

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:

NALG 001 Lineární algebra a geometrie 1, zimní semestr MFF UK Doba řešení: 3 hodiny

0.1 Úvod do lineární algebry

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

Soustavy lineárních rovnic

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici

Matematika I pracovní listy

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

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

Soustavy linea rnı ch rovnic

X37SGS Signály a systémy

Transkript:

Základy algoritmizace a programování Příklady v MATLABu Přednáška 10 30. listopadu 2009

Řídící instrukce if else C Matlab if ( podmínka ) { } else { } Podmíněný příkaz if podmínka elseif podmínka2... else end C: se sdružují do bloku pomocí složených závorek MATLAB: posloupnost příkazů je ukončena slovem end

Relační a logické operátory C >, <, >=, <= = = &&,!,!= větší, menší,... rovnost MATLAB >, <, >=, <= = =, &,, = konjunkce, disjunkce negace, nerovnost V MATLABu POZOR! Jsou li A, B matice, nemusí být pravdivá ani jedna z podmínek: A = = B, A > B, A <B, A = B protože pravdivé jsou, když jsou splněny pro všechny prvky matic V MATLABu navíc: any all isequal isempty

Řídící instrukce cykly C Matlab Cyklus while while(podmínka) { } while podmínka end Cyklus for for(inicializace;podmínka;změna) { } for proměnná = výraz end C: se sdružují do bloku pomocí složených závorek MATLAB: posloupnost příkazů je ukončena slovem end

Řídící instrukce přepínač C Matlab switch(výraz) { case hodnota1,hodnota2: ; break; case hodnota3: ; break;... default:... } Přepínač switch switch výraz case{ hodnoty1} case {hodnoty2}... otherwise end C: Není li break; výpočet pokračuje dál. MATLAB: break není nutný, vždy je vybrán jediný case! break lze použít pro předčasné ukončení cyklu.

M files Program v MATLABu posloupnost příkazů, které mohou být uloženy v souborech. Takovým souboům s instrukcemi říkáme m files. Program je obyčejný textový soubor, který lze vyvtvořit v textovém editoru, můžeme použít editor MATLABu. Příkazy (instrukce) se zapisují stejně jako v příkazovém řádku, oddělují se znaky ;,,, nebo "enter" Konec programu nemá žádný speciální znak, jednoduše poslední příkaz. Předčasné ukončení příkaz return Komentář (poznámky) : od znaku % do konce řádku Komentáře na začátku souboru jsou dostupné z helpu pomocí help jméno_programu

Typy m souborů Scénáře (skripty) Funkce Pracují s daty v pracovním prostředí (workspace) Nemají vstupní argumenty, nemohou vracet výsledky Použití : odladění a orientační výpočty Pracují s vlastními lokálními proměnnými nebo s globálními daty Mohou mít vstupní argumenty a mohou vracet výsledky Rozšiřují možnosti jazyka MATLAB

Funkce Hlavička funkce 1 function [y1,y2,...,ym] = ff(x1,x2,...,xn) 2 function y = ff(x1,x2,...,xn) 3 function ff(x1,x2,...,xn) 4 function [y1,y2,...,ym] = ff Volání funkce 1 [y1,y2,...,ym] = ff(x1,x2,...,xn) 2 y = ff(x1,x2,...,xn) 3 ff(x1,x2,...,xn) 4 [ y1,y2,...,ym] = ff(x1,x2,...,xn) Globální proměnné global a1 a2... musí být uvedeno ve všech funkcích, které tyto proměnné používají Lokální funkce podfunkce Soubor funkce může obsahovat několik funkcí. První (hlavní) je dostupná zvně. Ostatní lokální nebo podfunkce mohou být volány pouze z hlavní funkce nebo z některé z lokálních funkcí v tomto souboru.

Příklady vytvoření m funkcí Funkce y = f(x) soubor f.m function y = f(x) y = xˆ3-2*x - 5 Funkce puleni řešení f(x) = 0 soubor puleni.m function x = puleni(f, a, b, presnost) if f(a) * f(b) > 0 disp( Chybny interval ) break while abs(b-a) > presnost x = (a+b)/2 if f(x) = = 0 break elseif f(x)*f(a) > 0 a=x else b=x end %if end %while

Eulerova metoda jako m.funkce v souboru euler.m function [x y] = euler(x0,y0,h,n) %od počátečního bodu [x0,y0] s krokem h N kroků %vráti 2 vektory - x-ové hodnoty a y-ové hodnoty x(1) = x0 y(1) = y0 for i=2:n y(i) = y(i-1)+h*f(x(i-1), y(i-1)) x(i) = x(i-1)+h end % lokální funkce function yy = f (x,y) yy = 3*xˆ2/(2*y)

Příklad použití funkce jako parametru x=puleni(@f,1,3,0.0001)

Příklady práce s maticemi Načtení hodnot ze souboru Zjištění rozměrů matice [ma na] = size(a) [mb nb] = size(b) Vytvoření matice jiného rozměru B=reshape(B, mm, nn) POZOR, počet čísel v původní matici B musí být přesně mm*nn Určení hodnosti matic: ha = rank(a) hb = rank(b) Je matice čtvercová nebo obdélníková? if ma = = na disp( Matice A je ctvercova ) else disp( Matice A je obdelnikova ) end

Příklady práce s maticemi Je matice regulární? if ha = =ma disp( Matice A je regularni ) Je matice symetrická? if A = =A ) disp( Matice A je symetricka ) Determinant matice deta = det(a) Vlastní čísla a vlastní vektory matice spektruma = eig(a) spektrum matice je množina všech vlastních čísel [V D ] = eig(a) výsledky: V matice, jejíž sloupce jsou vlastní vektory, odpovídající vlastním číslům, ktará jsou na diagonále matice D Inverzní matice inva = inv(a)

Některé vlastnosti matic Norma matice řádková normar = max(sum(a )) sloupcová normas = max(sum(a)) Euklidovská normae = sqrt(sum(sum(a.ˆ2)) Číslo podmíněnosti matice podminenost = cond(a) číslo podmíněnosti = největší vlastní číslo/nejmenší vlastní číslo Ostře diagonální matice pro všechny řádky platí: absolutní hodnota čísla na hlavní diagonále je větší než součet absolutních hodnot zbývajících čísel v řádku Pozitivně definitní matice Všechny hlavní minory matice jsou kladné

Řešení soustavy lineárních rovnic Gaussova eliminační metoda Dána matice soustavy A. (předpokládáme, že matice je regulární, a tedy existuje jediné řešení) Vektor pravé strany b musí být sloupec, musí mít tolik prvků, kolik má matice A řádků. Potom řešení soustavy rovnic: x=a\b Příklad: A = 4 2 1 1 2 3 2 0 1 A = [4 2-1; 1 2 3; 2 0 1] b = [6; -1; 1] x=a\b (x = 1 0.5-1), b = 6 1 1