MATLAB prehľad PDF
Document Details
Uploaded by KidFriendlyPersonification
Slovak University of Technology in Bratislava
Tags
Summary
Tento dokument je prehľadom MATLABu. Obsahuje základné informácie o MATLAB, matematickej a výpočtovej technike. Popisuje základné MATLAB funkcie s príkladmi.
Full Transcript
zdroj: IFTE prednášky a cvičenia dostupné v AISe MATLAB def.: integrované prostredie slúžiace na vedecko-technické výpočty, modelovanie, návrhy algoritmov, simuláciu, vizualizáciu, analýzu údajov, paralelné výpočty, meranie a spracovanie signálov, návrhy riadiacich a komunikačných systémov. n...
zdroj: IFTE prednášky a cvičenia dostupné v AISe MATLAB def.: integrované prostredie slúžiace na vedecko-technické výpočty, modelovanie, návrhy algoritmov, simuláciu, vizualizáciu, analýzu údajov, paralelné výpočty, meranie a spracovanie signálov, návrhy riadiacich a komunikačných systémov. nástroj – pohodlná interaktívna práca, vývoj širokého spektra aplikácií Matlab jednoduché výpočty sčítanie + násobenie * umocňovanie ^ oddeľovač desatinných miest je bodka 35.23 odmocňovanie sqrt() dvojbodku za príkazom použijeme, ak nepotrebujeme vidieť výstup príkazu alebo umocňovanie na obrátenú hodnotu ^(1/2) odčítanie - delenie / menší < väčší > rovný == rôzny ~= odpoveď – 1 = áno 0 = nie komplexné čísla: 3+4i konštanty: v matlabe pre vyjadrenie 𝝅 napíšeme iba pi vo výpočtoch používame zátvorky () zápis čísel: 2 ∗ 106 je to isté ako 2e6 2 ∗ 10−6 je to isté ako 2e-6 exp(-2) je eulerovo číslo umocnené na -2, resp. 𝑒 −2 Niektoré matematické funkcie zvyšok po delení: mod(delenec,deliteľ) rem(delenec,deliteľ) rem avšak po delení nulou vráti NaN Y = fix(X) %Zaokrúhľovanie čísel smerom k nule Yf = floor(X) %Zaokrúľovanie smerom nadol Yc = ceil(X) %Smerom nahor S = sum(A) %sčítanie všetkých prvkov vektora B = [1 2 3; 4 5 6; 7 8 9] Smat = sum(B) %v prípade 2-rozmernej matice to je sčítanie všetkých stĺpcov matice Scel = sum(sum(B)) %sčít Funkcie pre prácu s MATLAB workspace (možno aj cez samotný workspace) who – zoznam premenných vo workspace whos – zoznam premenných vo workspace s veľkosťou a typom save – uloženie premenných z workspace do súboru (Workspace browser → Save ) save(menoSuboru) save subor.mat o uloženie všetkých premenných z workspace do MAT-súboru save(menoSuboru, premenne) save premenna1 premenna2 load – načítanie dát zo súboru do workspace load(menoSuboru) load subor load(menoSuboru, premenne) load subor premenna1 premenna2 zdroj: IFTE prednášky a cvičenia dostupné v AISe clear – odstránenie premenných z workspace clc – vyčistenie príkazového okna clear – odstráni všetky premenné z workspace clear premenna1 premenna2 – odstráni iba konkrétne premenné iskeyword – zistenie, či je premenná kľúčovým slovom matlabu ans – aktuálna odpoveď matlabu format – nastavenie formátu výstupu Komplexné čísla absolútna hodnota abs(vyraz) komplexne združený člen conj(vyraz) reálna zložka real(vyraz) imaginárna zložka imag(vyraz) Vektory, matice riadkový vektor x = [1 2 3] alebo x = [1, 2, 3] stĺpcový vektor y = [1; 2; 3] výber časti vektoru = cez indexovanie (poradové číslo prvku od 1 do n) → V = [77 88 99] indexy prvkov tohto vektora sú: V(1) = 77, V(2) = 88, V(3) = 99 vektor=polynóm ➔ koeficienty polynómu zľava do prava ([]) korene polynómu roots(vyraz) polynóm z koreňov poly(vyraz) hodnota polynómu pre hodnotu polyval(vyraz, hodnota) derivácia polynómu polyder(vyraz) dĺžka (počet členov) polynómu length(vyraz) zoradenie prvkov sort(vyraz) sort(vyraz, “ascend”/”descend”) súčin 2 polynómov conv(vyraz1, vyraz2) násobenie matíc – pozor na pravidlo MxN * NxP = MxP špeciálne príkazy matíc: ones, zeros pre násobenie matíc alebo vektorov po jednotlivých prvkoch treba použiť bodku, napr. a.* b matica –napr. a = [1 2 3; 4 5 6; 7 8 9] determinant det(a) inverzná matica inv(a) transponovaná matica a’ výber n-tý riadok matice a(n, :) n-tý stĺpec matice a(:, n) prvok matice a(riadok, stĺpec) časť matice a(riadok_od:riadok_do,stĺpec_od:stĺpec_do) postupnosť čísel x = minimum : krok : maximum linspace(minimum, maximum, počet_prvkov) poznáme rozmedzie medzi hodnotami (krok) vieme, koľko prvkov obsahuje množina môžeme použiť aj so zátvorkami, to je ok, ale netreba Matlab – grafy nové okno s grafom figure mriežka grid on/off zmazanie obsahu clf zdroj: IFTE prednášky a cvičenia dostupné v AISe načítanie polohy v grafe pomocou myši ginput(1) názov title('Nazov grafu’) - velkosť fontu (11 je default), hodnota vyššia ako 0 -hrúbka ‘normal’ alebo ‘bold’ legenda grafu legend(‘čiara1’,’čiara2’,…) legend off pre jej skrytie text v grafe text(x,y,’text’) popis x osi xlabel(“xpopis”) popis y osi ylabel(“ypopis”) \leftarrow, \rightarrow, \uparrow, \downarrow vytvoreniegrafu plot(X,Y) plot(X,Y,’typ’ ,‘marker’,’farba’) viacero grafov v jednom: subplot(počet_riadkov, počet_stĺpcov, číslo_grafu) podržanie grafu (aby nám vykreslilo viacero čiar do jedného): 1. plot(prvá) 2. hold on 3. plot(druhá) 4. hold off osi grafu (xmin, xmax, ymin, ymax) axis([-1, 9, -2, 4.5]) x-ová línia na koordinátoch v grafe xline(0) bude čiara pri x=0, obdobne pre yline(0) export grafu cez menu Edit → Copy Figure alebo pomocou grafického editora – Paste figure title(‘Príklad IT’, ‘color’,’blue’,’fontsize’,24,’fontangle’,’italic’) xlabel(‘Toto je os X’,’color’,’red’,’fotsize’,24,’fontweight’,’bold’) axis([-5,5,-10,10]) plot([-3,-1,4],[-6,8,-2],’k--o ‘) prvý bod, druhý bod, tretí bod, spôsob vykreslenia text(0,8,’Vložený text’, ‘color’,’magenta’,’fontsize’,24,’fontweight’,’bold’) export: menu Edit → Copy figure / pomocou graf. editora – Paste Matlab script: online Matlab: menu New → Script, tlačidlo New Script desktop aplikácia Matlab: menu File – New – Blank M-file, tlačidlo New M-file Matlab – konverzia dátových typov znakyOsobitne = 'SuperIFTE' bude premenná 1x6, každý znak osobitne vieme pristupovať pomocou indexovania, tzn. znakyOsobitne(4) bude znakyCelok = “SuperIFTE” bude premenná 1x1, považovaná ako jeden celok nevieme pristupovať pomocou indexovania k jenotlivým prvkom, lebo je iba 1x1..., tzn. znakyCelok(4) bude chybová správa, ktorá hovorí o prekročení počtu prvkov pri indexovaní desatinné číslo na reťazec num2str(číslo) reťazec na číslo str2num(reťazec) zdroj: IFTE prednášky a cvičenia dostupné v AISe spájanie reťazcov (concatenation): strcat(reťazec1, reťazec2) Práca s textom zmazanie obrazovky clc výpis na obrazovku disp(‘reťazec ‘) disp([‘reťazec1‘,‘reťazec2’,...]) vstup z klávesnice premenná = input(‘text pre vyžiadanie vstupu’) - bude očakávané číslo premenná = input(‘text pre vyžiadanie vstupu’, ‘s’) - vstup konvertovaný do “char” Matlab – podmienky, cykly podmienka IF if logický_výraz if logický_výraz if logický_výraz prikaz1; príkaz; príkaz1; else else príkaz2; end príkaz2; elseif end príkaz3; end break v cycle je možnosť ukončiť cyklus predčasne, ak IF bolo splnené cyklus s daným počtom opakovaní cyklus s neznámym počtom opakovaní for premenná = od:krok:do while logický_výraz príkaz1; príkaz1; príkaz2 príkaz2 end end Matlab – algoritmy a riadiace štruktúry Algoritmus – postupnosť krokov, ktoré definujú transformáciu vstupných údajov na výstupné konečná postupnosť presne a podľa poradia definovaných elementárnych operácií, ktorá po dodržaní vstupných podmienok zabezpečuje vyriešenie všetkých úloh toho istého typu druhy: rekurzívne, triediace, vyhľadávacie, grafové, genetické, pravdepodobnostné, heuristické, optimalizačné, kompresné, algoritmy dynamického programovania Vlastnosti algoritmu hromadnosť – použiteľný pre množinu vstupných premenných vyhovujúcich vstupným podmienkam (nie iba pre konkrétne vstupné hodnoty) determinovanosť – v každom kroku algoritmu je jednoznačne definované riešenie a vyplýva nasledujúci krok, realizácia algoritmu nesmie byť podmienená žiadnymi ďalšími podmienkami, je nezávislá od riešiteľa a prostredia, v kt. sa algoritmus realizuje rezultatívnosť – algoritmus sa po konečnom počte krokov zastaví a poskytne výsledky konečnosť – zastavenie algoritmu po konečnom počte krokov elementárnosť – každý krok algoritmu predstavuje elementárnu činnosť efektívnosť – čo možno najmenším počtom krokov získať riešenie, súčasne za čo najkratší čas, s využitím minimálneho množstva výpočtových prostriedkov Správny algoritmus je taký, ktorý zabezpečí splnenie vstupnej a výstupnej podmienky. Algoritmy možno zapísať slovne (prirodzený jazyk), graficky (vývojové diagramy, štruktogramy, rozhodovacie tabuľky), v programovacom jazyku. Je nutné, aby bol zápis jednoznačný a zrozumiteľný. Vývojový diagram – grafické znázornenie algoritmu riešenia postupnosťou normalizačných značiek (ISO 5807), do ktorých sú zapisované operácie. Ukazuje logické vzťahy medzi jednotlivými krokmi spracovania. Nevýhoda: zložitý prepis do programovacích jazykov. Štruktogram – formálny prostriedok zápisu algoritmu, štruktúrovaný prístup (Nassi, Schneiderman), kde každá jednotlivá akcia sa uvedie v zodpovedajúcom štruktúrnom bloku (štruktúrne bloky môžu byť do seba ľubovoľne vnorené). Jednoduchý prepis do programovacieho jazyka. Nevýhoda: malá prehľadnosť pri zložitejších algoritmoch. zdroj: IFTE prednášky a cvičenia dostupné v AISe Rozhodovacia tabuľka – pomôcka na znázornenie komplexných rozhodovacích procesov, má 4 časti: časť podmienok – všetky podmienky, kt. musia byť overené v rozhodovacej situácii časť stavov podmienok – kombinácia hodnôt pre jednotlivé podmienky časť akcií – akcie, kt. systém vykonáva časť stavov/výberu akcií – stavy udávané pre každé pravidlo, kt. akcia sa musí vykonať Program vs algoritmus postupnosť príkazov programovacieho jazyka postup práce dokumentácia: výpis programu dokumentácia: zápis algoritmu chránený autorským zákonom možno patentovať Program realizuje algoritmus/algoritmy. Algoritmus je nutnou súčasťou programu. Riadiace štruktúry (konštrukcie) Riadiace štruktúry sú spôsob riadenia jednotlivých akcií (vykonáva realizátor). Opisujú výpočtový proces. Vlastnosti riadiacich štruktúr: - do každej konštrukcie riadenie vstupuje len cez 1 bod - z každej konštrukcie riadenia vychádza len cez 1 bod - možno ich vhodne integrovať do 1 konštrukcie Sekvencia – postupnosť akcií, kt. sa vykonajú v poradí, v kt. sú napísané, ak nie je stanovené iné poradie Vetvenie – výber jednej alebo viacerých akcií, podľa toho, ako spĺňajú podmienku (podmienené, jednoduché, viacnásobné) Cyklus – opakovanie jednej/viacerých akcií dovtedy, pokiaľ je splnená určitá podmienka daný počet opakovaní (for) neznámy počet opakovaní (while) Vstupná podmienka (vstupné údaje, vstupné hodnoty) – podmienka, kt. musia spĺňať údaje na vstupe algoritmu, pri správnom algoritme pre tieto údaje dostaneme správny výsledok Výstupná podmienka (výstupné údaje, výstupné hodnoty) – podmienka, kt. musia spĺňať všetky údaje na výstupe algoritmu, pri správnych vstupných údajoch + správnom algoritme pre tieto údaje dostaneme správny výsledok Základné stavebné časti: začiatok, vstup/výstup, spracovanie, koniec ak rozhodovanie, potom podmienka Počítačové siete Počítačová sieť je také prepojenie skupiny počítačov/zariadení (min. 2) a technických prostriedkov (hardvér, kabeláž alebo iné prenosové prostredie, softvér) tak, že je medzi nimi možný prenos dát (komunikácia). ✓ zdieľanie dát a hardvérových prostriedkov, jednoduchý prenos dát, správa a ochrana dát, komunikácia v sieti Požiadavky na siete: vysoká dostupnosť, škálovateľnosť, manažovateľnosť Personal Area Network – PAN – osobná počítačová sieť, zariadenia sú obvykle WAN prepojené bezdrôtovými technológiami Bluetooth, IrDA, Wi-Fi. Typické pre 100km-1000km myši, tlačiarne, mobil-počítač, notebook, PDA,... Local Area Network – LAN – lokálna počítačová sieť na zdieľanie dát a MAN zariadení, obvykle súkromná sieť, kde zariadenia umiestnené v jednej alebo