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

Podobné dokumenty
Datové struktury. Zuzana Majdišová

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

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

Stručný návod k programu Octave

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

- 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

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

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

Toto zadání je podepsané děkanem a vedoucím katedry, po obhajobě).

MATLAB základy. Roman Stanec PEF MZLU

NPGR032 Cv úvod

Adobe Photoshop 18. Ukládání dokumentu formáty

printf - formatovany vystup

Programy pro ˇreˇsen ı ulohy line arn ıho programov an ı 18. dubna 2011

Algoritmizace prostorových úloh

Práce s obrazovým materiálem CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ. Akreditované středisko dalšího vzdělávání pedagogických pracovníků

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

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

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

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

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

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

otočení matice o 180

Omezení barevného prostoru

Barvy v digitální fotografii. Jaroslav Svoboda

Stručný obsah. K2118.indd :15:27

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

Hammingovy kódy. dekódování H.kódů. konstrukce. šifrování. Fanova rovina charakteristický vektor. princip generující a prověrková matice

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

0.1 Úvod do lineární algebry

Základy matematiky pro FEK

Nápověda k aplikaci GraphGUI

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

MENDELOVA UNIVERZITA V BRNĚ LDF MT MATEMATIKA VEKTORY, MATICE

MENDELOVA UNIVERZITA V BRNĚ LDF MT MATEMATIKA VEKTORY, MATICE

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

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

VYUŽITÍ OBRAZOVÉ ANALÝZY PRO ODHAD DOSTAVY TKANINY

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

BPC2E_C08 Parametrické 3D grafy v Matlabu

Digitální kartografie

Zobrazovací jednotky a monitory

Digitální kartografie 8

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.

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

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

PROBLEMATICKÉ ASPEKTY GEOREFERENCOVÁNÍ MAP

Digitální učební materiál

ZPRACOVÁNÍ OBRAZU přednáška 4

Co chcete udělat? Přepis nahrávek. Přepis URL. Korekce přepisů. Vyhodnocení přepisů. Ukládání přepisů. Přidávání slov do slovníku

IVT. Grafické formáty. 8. ročník

0.1 Úvod do lineární algebry

Transformace souřadnic

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

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

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

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

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

1 Linearní prostory nad komplexními čísly

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

a + b + c = 2 b + c = 1 a b = a 1 2a 1 + a a 3 + a 5 + 2a 2 + a 2 + a

Tady bude oficiální zadání práce.

Barvy v počítačové grafice

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

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

Fraktální analýza prahovaných a neprahovaných signálů (View+HT) HT 1D

F A,B = Vektory baze vyjádřete jako aritmetické vektory souřadnic vzhledem

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

Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě

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.

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

Používání u a Internetu

Práce se soubory. Základy programování 2 Tomáš Kühr

Jazyk C práce se soubory. Jan Hnilica Počítačové modelování 16

3D grafika. Příprava dat

Import a export dat EU peníze středním školám Didaktický učební materiál

Tvorba nových dat. Vektor. Geodatabáze. Prezentace prostorových dat. Základní geometrické objekty Bod Linie Polygon. Vektorová

VYUŽITÍ POČÍTAČOVÉ GRAFIKY

[1] samoopravné kódy: terminologie, princip

Co je obsahem numerických metod?

Tabulkový procesor otázka č.17

Zásady prezentace CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ. Akreditované středisko dalšího vzdělávání pedagogických pracovníků

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

Fyzikální laboratoř. Kamil Mudruňka. Gymnázium, Pardubice, Dašická /8

Počítačová grafika. OBSAH Grafické formy: Vektorová grafika Bitmapová (rastrová grafika) Barevné modely

2.3.3 PRÁCE S JEDNÍM A VÍCE DOKUMENTY

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

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Úvod do lineární algebry

Úvod do jazyka HTML (Hypertext Markup Language)

Datové struktury 2: Rozptylovací tabulky

Základy zpracování obrazu

Transformace digitalizovaného obrazu

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 =

Práce se soubory. Úvod do programování 2 Tomáš Kühr

Transkript:

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

Import/export dat Matlab podporuje velké množství formátů Matlab data (.mat) Text (.txt,.csv, ) Tabulky (.xls,.xlsx,.ods,...) XML Obrázky (.bmp,.gif,.jpg,.png, ) Audio (.wav,.flac,.ogg,.mp4, ) Video (.avi,.mpg,.mp4,.mov,...)... Lze použít buď specifické funkce, nebo univerzálního průvodce pro import

Import/export dat Průvodce pro import Několik možností vyvolání File > Import data Klik pravým na soubor > Import data Voláním uiimport

Import/export dat.mat soubory Soubor obsahující data z pracovního prostředí Matlabu Použití: save à matlab.mat save data.mat save( data.mat ) save( data.mat, a, b ) save( data, A, -ascii ) load matlab.mat load matlab.mat a load( data.mat, a ) whos file data.mat

Import/export dat fopen Otevře binární nebotextový soubor fileid = fopen(filename, permission) fileid = fopen( mujsoubor.m ); fread Čte data z binárního souboru A = fread(fileid); A = fread(fileid, M); A = fread(fileid, [M, N]);

Import/export dat fwrite Zapisuje data do binárního souboru fwrite(fileid, A) fwrite(fileid, A, precision) fscanf Čte data z textového souboru fscanf(fileid, formatspec, M) fscanf(fileid, formatspec, [M, N]) fprintf Formátovaný zápis do textového souboru fprintf(fileid, format, data) fclose(fileid) zavře soubor

Import/export dat Další možnosti dlmwrite zapíše matici do textového souboru dlmwrite(filename, M, delimiter) defaultní delimiter je čárka dlmread čte textový soubor do matice dlmread(filename) dlmread(filename, delimiter, [R1, C1, R2, C2])

Import/export dat Import obrázků Obrázky jsou většinou reprezentovány dvoudimenzionálnímpolem (maticí) Každý prvekmatice koresponduje jednomu pixelu obrázku Některé obrázky (např. RGB) jsou reprezentovány tří-dimenzionálnímpolem

Import/export dat Import obrázků Matlab podporuje import tří typů rastrových obrázků Indexované Matice c 3 s hodnotami Red, Green, Blue, double mezi 0 a 1 (colormap) Matice n m indexů do colormapy (image matrix) Image matrix může být typu double, uint8 nebo uint16 Použití: image(i); colormap(map);

Import/export dat Import obrázků Matlab podporuje import tří typů rastrových obrázků Obrázky ve škále šedi (intensity images) Každý prvekmatice odpovídá jendomu pixelu obrázku Matice může být typu double, uint8, uint16 Použití: imagesc(i, [0, 1]); colormap(gray);

Import/export dat Import obrázků Matlab podporuje import tří typů rastrových obrázků RGB obrázky Barva každého pixelu se skládá ze tří složek červené, zelené a modré Jsou reprezentovány tří-dimenzionálním polem m n 3 Př.: obrázek uložen v 3D poli RGB, složky barvy pixelu s indexem (10,5) jsou RGB(10, 5, 1) (červená), RGB(10, 5, 2) (zelená), RGB(10, 5, 3) (modrá) Obrázek lze zobrazit: image(rgb)

Import/export dat Import obrázků imread Načte obrázek z externího souboru (.jpeg,.tiff,.gif,.bmp,.png,.cur, hdf, ) A = imread(filename); [A, map] = imread(filename); [A, map, transparency] = imread(filename); imwrite Zapíše obrazová data do souboru. Použití imwrite(a, soubor.jpg ); ind2rgb Převede indexovaný obrázek na RGB obrázek iminfo Zobrazí informace o obrazovém souboru

Import/export dat Audio soubory audioread Načte data ze souborů typu.wav,.ogg,.flac,.mp3, mp4, [y, Fs] = audioread(filename) y je m n matice, kde m je počet vzorků, n je počet zvukových stop v souboru Fs je vzorkovací frekvence v Hz audiowrite Použití: audiowrite(filename, y, Fs);

Práce s řídkými maticemi Řešení velkého množství úloh vede na soustavy s maticí, která má málo nenulových prvků Řídké matice (sparse matrices) Hustota (density) = počet nenulových prvků / celkový počet prvků Efektivní ukládat pouze nenulové prvky Existuje několik formátů pro ukládání řídkých matic

Práce s řídkými maticemi Coordinate format (COO) Souřadnicová komprese Souřadnice + hodnota (i, j, v): (řádek, sloupec, hodnota) i j v

Práce s řídkými maticemi CSR formát Compressed Sparse Row hodnoty (A) reálné nebo komplexní pole obsahující prvky matice (po řádcích) indexyradku (IA) I-tý prvek vrací index v poli hodnoty prvku, který je prvním nenulovým prvkem v I-tém řádku matice A, na poslední pozici počet nenulových prvků + 1 sloupce (JA) J-tý prvek obsahuje index sloupce (v matici A) prvku na J-té pozici v poli hodnoty hodnoty = [2.0, 1.0, 3.0, 1.0, 4.0, 4.0, 1.0] indexyradku = [1, 3, 5, 6, 8] sloupce = [2, 3, 1, 4, 5, 1, 3] Poslední prvek je počet nenulových prvků v matici +1

Práce s řídkými maticemi CSR formát Compressed Sparse Row Pole indexyradku rozdělí pole hodnoty na řádky: (2.0, 1.0), (3.0, 1.0), (4.0), (4.0, 1.0) Pole sloupce přiřadí hodnoty v řádcích do sloupců: (0.0, 2.1, 1.0, 0.0, 0.0), (3.0, 0.0, 0.0, 1.0, 0.0), hodnoty = [2.0, 1.0, 3.0, 1.0, 4.0, 4.0, 1.0] indexyradku = [1, 3, 5, 6, 8] sloupce = [2, 3, 1, 4, 5, 1, 3] Poslední prvek je počet nenulových prvků v matici +1

Práce s řídkými maticemi CSR formát Příkladnásobení matice-vektor hodnoty = [2.0, 1.0, 3.0, 1.0, 4.0, 4.0, 1.0] indexyradku = [1, 3, 5, 6, 8] sloupce = [2, 3, 1, 4, 5, 1, 3]

Práce s řídkými maticemi CSR formát Compressed Sparse Row Varianta 2 hodnoty reálné nebo komplexní pole obsahující prvky matice (po řádcích) sloupce I-tý prvek obsahuje index sloupce (v matici A) prvku na I-té pozici v poli hodnoty ukazatela J-tý prvek vrací index v poli hodnoty prvku, který je prvním nenulovým prvkem v J-tém řádku matice A ukazatelb indexy řádků, tak že ukazatelb(j)-ukazatela(1) vrátí index posledního nenulového prvku v J-tém řádku matice A hodnoty = [2.0, 1.0, 3.0, 1.0, 4.0, 4.0, 1.0] sloupce = [2, 3, 1, 4, 5, 1, 3] ukazatela = [1, 3, 5, 6] ukazatelb = [3, 5, 6, 8]

Práce s řídkými maticemi CSC formát Compressed Sparse Column CSC(A) = CSR(A T ) Interní Matlab formát řídkých matic hodnoty (A) reálné nebo komplexní pole obsahující prvky matice (po řádcích) indexysloupcu (IA) I-tý prvek vrací index v poli hodnoty prvku, který je prvním nenulovým prvkem v I-tém sloupci matice A, na poslední pozici počet nenulových prvků + 1 radky (JA) J-tý prvek obsahuje index řádku (v matici A) prvku na J-té pozici v poli hodnoty hodnoty = [3.0 4.0 2.0 1.0 1.0 1.0 4.0] indexysloupcu = [1, 3, 4, 6, 7, 8] radky = [2, 4, 1, 1, 4, 2, 3] Poslední prvek je počet nenulových prvků v matici + 1

Práce s řídkými maticemi CSC formát Pole indexysloupců rozdělí pole hodnoty na sloupce: (3.0, 4.0), (2.0), (1.0, 1.0), (1.0), (4.0) Pole radky přiřadí hodnoty v sloupcích do řádků: (0.0, 3.0, 0.0, 4.0), (2.0, 0.0, 0.0, 0.0), hodnoty = [3.0 4.0 2.0 1.0 1.0 1.0 4.0] indexysloupcu = [1, 3, 4, 6, 7, 8] radky = [2, 4, 1, 1, 4, 2, 3] Poslední prvek je počet nenulových prvků v matici + 1

Práce s řídkými maticemi CSC formát Compressed Sparse Column Varianta 2 hodnoty reálné nebo komplexní pole obsahující prvky matice (po řádcích) radky I-tý prvek obsahuje index řádku (v matici A) prvku na I-té pozici v poli hodnoty ukazatela J-tý prvek vrací index v poli hodnoty prvku, který je prvním nenulovým prvkem v J-tém sloupci matice A ukazatelb indexy sloupců, tak že ukazatelb(j)-ukazatela(1) vrátí index posledního nenulového prvku v J-tém sloupci matice A hodnoty = [2.0, 1.0, 3.0, 1.0, 4.0, 4.0, 1.0] sloupce = [2, 3, 1, 4, 5, 1, 3] ukazatela = [1, 3, 5, 6] ukazatelb = [3, 5, 6, 8]

Řídké matice v Matlabu Nejsou vytvářeny automaticky Uživatelmusírozhodnout, zda použít plnou nebo řídkou matici Např. podle hustoty (<0.3) hustota = nnz(a) / prod(size(a));

Řídké matice v Matlabu Některé užitečné příkazy speye(m,n) obdoba eye, sestaví řídkou jednotkovou matici spdiag(b,d,m,n) řídká diagonální matice ze sloupců matice B sprand(m, n, dens) matice s náhodnými prvky a danou hustotou sparse(a) převede plnou matici A na řídkou full(s) převede řídkou matici na plnou nnz(s) počet nenulových prvků nonzeros(s) vrátí nenulové prvky spones(s) nahradí nenulové prvky za jedničky spy(s) zobrazí strukturu řídké matice (polohu nenulových prvků)

Řídké matice v Matlabu Přímé sestavení ze souřadnicového zápisu pomocí funkce sparse a polí i, j, v [i,j,v]=find(s) vrátí pole i,j,v z existující matice