1 / 46

Uvod v Matlab

Uvod v Matlab. Uvod v Matlab. Matlab - mat rix lab oratory - osnovna enota za delo je polje (array) - enostavno delo z vektorji in matrikami Podpora: Podjetje MathWorks: http://www.mathworks.com. Uvod v Matlab. Uporaben za: matematika in računanje razvoj algoritmov (tudi v C-ju)

bess
Download Presentation

Uvod v Matlab

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Uvod v Matlab

  2. Uvod v Matlab • Matlab - matrix laboratory - osnovna enota za delo je polje (array) - enostavno delo z vektorji in matrikami • Podpora: Podjetje MathWorks: http://www.mathworks.com

  3. Uvod v Matlab Uporaben za: • matematika in računanje • razvoj algoritmov (tudi v C-ju) • zajemanje podatkov • modeliranje in simulacija • obdelava podatkov, vizualizacija (2D, 3D) • grafični uporabniški vmesniki • razvoj aplikacij z močno podporo uporabniku

  4. Razvojno okolje • Desktop/Desktop Layout/Default • Command Window • Workspace • Current Directory • Command History

  5. M datoteke • File/New/M-file • Na začetek datoteke napišemo komentar, ki opisuje kaj datoteka izvaja • % Komentar • Datoteko shranimo v delovnem prostoru pod končnico .m • Opis datoteke: • help ime_datoteke

  6. Uporaba pomoči • Pomoč v obliki html strani • Pomoč za znan ukaz help sin doc sin • Iskanje ukaza lookfor sin

  7. Skalarji, vektorji, matrike

  8. Zaokroževanje • Zaokrožitevnavzdolnaceloštevilo fix(1.9), fix(-1.9) • Zaokrožitevnanajbližjeceloštevilo round(5.6) • Zaokrožitevnanajbližjeceloštevilo, proti floor(1.99), floor(-1.1) • Zaokrožitevnanajbližjeceloštevilo, proti ceil(1.99), ceil(-1.1)

  9. Formati izpisa • Izpisna15 decimalk format long • Izpisna 5 decimalk, osnovna nastavitev format • Ostali: format short e, format long e, format +, format rat, format compact, ...

  10. Vpis skalarjev • Prireditev vrednosti spremenljivki: x = 10 y = -20; Ne izpiše ponovno. X = 1.07; Decimalna števila se vpisujejo s piko! Matlab razlikuje velike in majhne črke! • Vpis števil z desetiško potenco vpišemo kot: d = 5e-4;

  11. Vpis skalarjev • Najmanjše predstavljivo pozitivno število: realmin • Največje predstavljivo pozitivno število: realmax • Točnost operacij s plavajočo vejico eps • Vgrajeno število pi

  12. Kompleksna števila • Kompleksna enota je i ali j: i j a = 5+7i; b = 1.123e-2 +1.123j; • Računamo na enak način kot z realnimi števili • Real (a) • Imag(a)

  13. Osnovne operacije • Seštevanje, odštevanje, množenje, deljenje: a+b a-b a*b a/b • Potenciranje a^5.78 b^d

  14. Osnovne operacije • Matematične funkcije (help elfun) - Kvadratnikoren sqrt(a) - Eksponentnafunkcija exp(a) - Naravnilogaritem log(a) - Desetiškilogaritem log10(a)

  15. Osnovne operacije - Absolutna vrednost abs(a), abs(1+2i) - Trigonometrične funkcije, argumenti v radianih! sin(pi), cos(a), tan(b) - Inverzne trigonometrične funkcije acos(0.5), asin(-1), atan(a) - Hiperbolične trigonometrične funkcije cosh(1), sinh(a), tanh(b)

  16. Osnovne operacije • Nekaj ‘nenavadnih’ operacij 0/10 100/0 • Inf- neskončno 0/0 realmax*2 • NaN- not-a-number

  17. Vpis vektorjev • Vpis vrstičnega vektorja • x=[1,2,3,4] • Vpis stolpičnega vektorja • y=[10;20;30;40] • Avtomatsko generiranje vektorja • w=[0:0.1:1] • Transponiranje vektorja • transp_x = x’

  18. Delo z vektorji • Vsota vseh členov vektorja • sum(A) • Dolžina vektorja • length(A) • Dimenzija vektorja ali matrike • size(A)

  19. Delo z vektorji • Seštevanje vektorjev • x+y • Množenje vektorjev • x*y’, x.*y • Prištevanje, odštevanje, množenje, deljenje vektorja s skalarjem • x+a, x*a, x/a

  20. Vpis matrike • Vpis vrstičnega vektorja • vrstica=[1,2,3] • Vpis stolpičnega vektorja • stolpec=[1;2;3] • KAKO BI VPISALI MATRIKO

  21. Vpis matrike • Vpis matrike A • A=[1, 2, 3; 4, 5, 6; 7, 8, 90] • Dimenzije matrike • size(A) • Determinanta matrike • det(A) • Inverzna matrika • inv_A=inv(A)

  22. Matematične operacije z matrikami • Množenje, deljenje, seštevanje, odštevanje matrik • inv_A*A, A-inv_A, ... • Množenje, deljenje, seštevanje, odštevanje • skalarjev od/z matrikami • A*a, A-a, ... • Množenje matrike z vektorjem • u=A*[0.1,0.2,0.3]

  23. Elementarne matrike in vektorji • Matrikaničels3vrsticami in 4stolpci • nicelna = zeros(3,4) • Matrikaenicz2vrsticama in 3stolpci • enice = ones(2,3) • Enotinamatrikas 3vrsticami in stolpci • enotina = eye(3) • Matrikanaključnihštevil med 0 in 1 • naklj = rand(2,2), • Kako bi izpisali naklj. matriko med 1 in 3?

  24. Delosčleni, vrsticami in stolpcimatrik in vektorjev • Branjeprvega členavektorjax • prvi_clen = x(1) • Dodajanječlena 1vrstičnemvektorju • x = [x, 1] • Poskusite sami: • Spremeniti drugi člen vektorja x v 1000 • Dodati člen 1000 stolpičnemu vektorju y

  25. Delosčleni, vrsticami in stolpcimatrik in vektorjev • Sprememba drugega členavektorjax v 1000 • x(2)=1000 • Dodajanječlena 1000 stolpičnemuvektorjuy • y = [y; 1000] • Poskusite sami: • Prebrati prvi člen v tretji vrstici matrike A

  26. Delosčleni, vrsticami in stolpcimatrik in vektorjev • Branje prvega člena tretje vrstice A • A13 = A(1,3) • Branjedrugega stolpcamatrike • stolpec = A(:,2) • Branjetretje vrsticematrike • vrstica = A(3,:)

  27. Delosčleni, vrsticami in stolpcimatrik in vektorjev • Dodajanje vrstice matriki • A_nov=[A;[100,200,300]] • Dodajanje stolpca matriki • A_nov=[A,[0.1;0.2;0.3]] • Brisanje tretje vrstice iz matrike • A(3,:)=[]

  28. Dodatni ukazi • Izpiše seznam vseh spremenljivk v delovnem prostoru • whos • Zbriše vse spremenljivke iz delovnega prostora • clear all • Zaustavi izvajanje programa • CTRL+C

  29. Povzetek • Z vejicoločimočlenev eni vrstici, spodpičjem preidemo v novo vrstico. • Pridelu z matrikami, oziromačlenimatrik, se prvoštevilo v oklepajunanašanavrstico, drugonastolpec. A(i,j) takopomenii-to vrstico in j-tičlen v vrstici. • Čedelamo s celimstolpcemalivrstico, nadomestimoštevilkočlena z dvopičjem. A(i,:) pomenii-to vrstico in je vrstičnivektor,  A(:,j) pomenivsečlene v j-tem stolpcu in je stolpičnivektor. • Pridodajanjučlenovmatriki je potrebnopazitinadimenzijo. Takolahkomatrikidodamo le stolpec, kiimatolikočlenovkotimamatrikavrsticalivrstico, kiimatolikočlenovkotimamatrikastolpcev.

  30. Vizualizacija

  31. 2D grafi • Odpre grafično okno • figure(1) • Izriše x,y graf • x = [-2*pi:0.01:2*pi]; • y= sin(x); • plot(x, y) • Naslov grafa • title(‘sin(x)’)

  32. 2D grafi • Oznaka na x osi • xlabel(‘ t[s]’) • Oznaka na y osi • ylabel(‘ t[s]’) • Omejitev območja izpisa axis([xmin,xmax,ymin,ymax]) • axis([-2*pi,2*pi,-1,1])

  33. 2D grafi • Risanje mreže na graf • grid • Branje dveh točk z grafa s klikom miške • ginput(2) • Zadrži vsebino grafičnega okna • hold on Podamo št. Točk, kliknemo na graf in Matlab poda rezultate. Za konec damo hold off.

  34. 2D grafi • Določanje barve in tipa izrisa • figure(2) • plot(x,y,’r’, x,y-1,’*y’, x,y+1,’-.g’) • Dodajanje teksta na graf • text(0, 0.5, ’Tocka x=0,Y=0.5’)

  35. Posebni 2D grafi Polarni graf theta=[0:0.01:2*pi]; r=sin(theta); polar(theta,r) Histogram x=[1,-2,-2,3,3,3,4,4,4,4]; hist(x) Ostali: stem, stairs, pie,..

  36. 3D grafi • 3D graf • figure(3) • plot3(x, cos(x), sin(x))

  37. Posebni 3D grafi • Posebni 3D graf • surf, mesh, waterfall, ... Pregled vseh 3D grafov na strani 46 v skripti.

  38. Grafi, splošno • Zbriše vsebino grafičnega okna • clf • Zapre vsa odprta grafična okna • close all • Grafelahkokopiramo v druge (Microsoft)programe z opcijo Edit->Copy Figure. Pred tem označimo v Edit->Copy Options izbrano opcijo (bitmap, metafile).

  39. Programske strukture

  40. PROGRAMIRANJE- UPORABNI UKAZI • Ustavi izvajanje m-datoteke dokler uporabnik ne pritisne poljubne tipke • pause • Izpiše obvestilo v delovni prostor • disp(‘Obvestilo’) • Prekine izvajanje for in while stavkov oziroma izvajanje datoteke na mestu ukaza • break

  41. POGOJNI STAVKI – UKAZ IF Oblika ukaza if pogoj1 stavki1; elseif pogoj2 stavki2; else stavki3; end

  42. POGOJNI STAVKI – UKAZ WHILE Oblika zanke while while pogoj stavki; end

  43. FOR ZANKA Oblika zanke FOR for stevec = zacetni:korak:koncni, stavki; end  

  44. MATLAB FUNKCIJE • Definicija funkcije: • % Opis funkcije% Avtor, datumfunction [izhod] = ime_funkcije(vhod)izhod = vhod*2; • NARGIN • NARGOUT POMOČ GLAVA TELO

  45. MATLAB FUNKCIJE • Global • Isglobal • Clear global

More Related