1 / 54

Uvod v Matlab Andreja Rojko

Uvod v Matlab Andreja Rojko. Spletna stran navodil http://www.ro.feri.uni-mb.si/predmeti/navodila/Matlab_nav/matlab_65_and.htm. Vsebina. Matlab, opis programa Delo s skalarji, vektorji in matrikami Uporaba pomoči (help) Grafika Osnovne programske strukture Orodje za regulacije.

zavad
Télécharger la présentation

Uvod v Matlab Andreja Rojko

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 MatlabAndreja Rojko Spletna stran navodil http://www.ro.feri.uni-mb.si/predmeti/navodila/Matlab_nav/matlab_65_and.htm

  2. Vsebina • Matlab, opis programa • Delo s skalarji, vektorji in matrikami • Uporaba pomoči (help) • Grafika • Osnovne programske strukture • Orodje za regulacije

  3. Matlab, opis programa • Matlab: - matematika in računanje, - razvoj algoritmov (tudi v C-ju), - zajemanje in obdelovanje podatkov, - modeliranje in simulacija, - vizualizacija (2D,3D grafi,..), - grafični uporabniški vmesniki, - močna podpora uporabniku.

  4. Matlab, opis programa • Matlab: - orodja (toolbox), - vgrajene funkcije, - Simulink. • Uporabnik: - lastni programi, funkcije, knjižnice, - uporabniška orodja (internet).

  5. Matlab, opis programa • Matlab - matrix laboratory - osnovna enota za delo je polje (array) - enostavno delo z vektorji in matrikami

  6. Matlab, opis programa Osnovno okno (View-> desktop layout-> Default)

  7. DEMO Ukaz DEMO!

  8. Vpis skalarjev Prireditev vrednosti: 10 a = 10 b = -20; (Podpičje na koncu–ni ponovitve izpisa) B = 1.07 (Decimalna vejica je decimalna pika!) (Matlab razlikuje velike in majhne črke) Števila z desetiško potenco vpišemo kot: -> d = 5e-4

  9. Vpis skalarjev Najmanjše število s plavajočo vejico 2.2251e-308: realmin Največje število s plavajočo vejico 1.7977e+308: realmax Točnost operacij s plavajočo vejico: eps Vgrajeno število: pi

  10. Kompleksna števila Kompleksna enota je i ali j: i j g = 5+7i h = 0.56e-12 +1.35j Možne vse operacije kot z realnimi števili. Problem: i in/ali j prepišemo... -> rešitev clear i j

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

  12. Osnovne operacije Nekaj ‘nenavadnih’ operacij 0/10 100/0 Inf- neskončno 0/0 NaN- not a number

  13. Osnovne operacije Kvadratni koren: sqrt(a) Eksponentna funkcija: exp(a) Naravni logaritem: log(a) Desetiški logaritem: log10(a)

  14. Osnovne operacije Absolutna vrednost: abs(b), abs(4+5i) Trigonometrične funkcije, argumenti v radianih! cos(0.2*pi), sin(a), tan(b) Inverzne trigonometrične funkcije: acos(-0.7), asin(1), atan(b) Hiperbolične trigonometrične funkcije: cosh(2), sinh(-2), tanh(0.56)

  15. Zaokroževanje Zaokrožitev navzdol na celo število: fix(1.9), fix(-1.9) Zaokrožitev na najbližje celo število: round(5.6) Zaokrožitev na najbližje celo število, proti : floor(1.99), floor(-1.1) Zaokrožitev na najbližje celo število, proti: ceil(1.99), ceil(-1.1)

  16. Formati izpisa Izpis na 15 decimalk: format long, 15/2.56 Izpis na 5 decimalk, osnovna nastavitev: format, 15/2.56 Sami preizkusite ostale možnosti: format short e, format long e, format +

  17. Uporaba pomoči Pomoč za znan ukaz: help log Iskanje ukaza: lookfor logarithm Iskanje pomoči v meniju help/ Matlab help.

  18. Naloga V delovnem oknu programa Matlab izračunajte:

  19. Naloga - rešitev >> sqrt(log2(exp(cos(0.24*7.87)))+8e5)/(35.7+cosh(pi)) ans = 18.9129

  20. 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’

  21. Delo z vektorji Vsota vseh členov vektorja sum(x) Dolžina vektorja length(y)

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

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

  24. 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)

  25. 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]

  26. Elementarne matrike in vektorji Matrika ničel s3 vrsticami in 4 stolpci nicelna = zeros(3,4) Matrika enicz2 vrsticama in 3 stolpci enice = ones(2,3) Enotina matrika s 3 vrsticami in stolpci enotina = eye(3) Matrika naključnih števil med 0 in 1 naklj = rand(2,2)

  27. Delo z členi, vrsticami in stolpci  matrik in vektorjev Branje prvega člena vektorja x prvi_clen = x(1) Dodajanje člena 1 vrstičnem vektorju  x = [x, 1] Poskusite sami: • Spremeniti drugi člen vektorja x v 1000 • Dodati člen 1000 stolpičnemu vektorju y

  28. Delo z členi, vrsticami in stolpci  matrik in vektorjev Sprememba drugega člena vektorja x v 1000 x(2)=1000 Dodajanje člena 1000 stolpičnemu vektorju  y y = [y; 1000] Poskusite sami: • Prebrati prvi člen v tretji vrstici matrike A

  29. Delo z členi, vrsticami in stolpci  matrik in vektorjev Branje prvega člena tretje vrstice A A13 = A(1,3) Branje drugega stolpca matrike stolpec = A(:,2) Branje tretje vrstice matrike vrstica = A(3,:)

  30. Delo z členi, vrsticami in stolpci  matrik 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,:)=[]

  31. 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

  32. Povzetek • Z vejico ločimo člene v eni vrstici, spodpičjem preidemo v novo vrstico. • Pri delu z matrikami, oziroma členi matrik, se prvo število v oklepaju nanaša na vrstico, drugo na stolpec. A(i,j) tako pomeni i to vrstico in j-ti člen v vrstici. • Če delamo s celim stolpcem ali vrstico, nadomestimo številko člena z dvopičjem. A(i,:) pomeni i-to vrstico in je vrstični vektor,  A(:,j) pomeni vse člene v j-tem stolpcu in je stolpični vektor. • Pri dodajanju členov matriki je potrebno paziti na dimenzijo. Tako lahko matriki dodamo le stolpec, ki ima toliko členov kot ima matrika vrstic ali vrstico, ki ima toliko členov kot ima matrika stolpcev.

  33. 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)’)

  34. 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])

  35. 2D grafi Risanje mreže na graf grid Branje dveh točk iz grafa s klikom miške ginput(2) Zadrži vsebino grafičnega okna hold on

  36. 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’) Poskusite v grafičnem oknu graf opremiti s teksti, ter spreminjati izrise z uporabo ikon v orodni vrstici okna in menijev Edit in Insert.

  37. 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,..

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

  39. Posebni 3D grafi Posebni 3D graf surf, mesh, waterfall, ... http://www.ro.feri.uni-mb.si/predmeti/navodila/Matlab_nav/grafika/Posebni_3d_grafi.htm

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

  41. M datoteke Napišite m datoteko s katero se bo izvedlo nekaj matematičnih operacij in izrisal 2D graf. Datoteko shranite v Work direktorij. Izbrišite vsebino delovnega okna z ukazoma clear all, close all Ime datoteke ne sme vsebovati presledkov in šumnikov!!!! Izvedite vašo m datoteko tako, da v delovno okno napišete njeno ime.

  42. M datoteke Na začetek datoteke dodajte vrstice s komentarjem, ki opisuje kaj datoteka izvaja % Komentar Datoteko ponovno shranite in v delovnem prostoru napišite ukaz: help ime_vase_datoteke

  43. UPORABNI UKAZI PRI PROGRAMIRANJU 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

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

  45. POGOJNI STAVKI UKAZ IF Primer: a=1, b=2 if a<b c=b-a elseif ((a==b)|(c<=b)) c = a else c = a+b end Logični operatorji: ~negacija ~=ni enako = = ekvivalentno <= manjše ali enako < manjše &logični in | logični ali

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

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

  48. CONTROL TOOLBOX Prenosno funkcijo: Definiramo z: st=[1,2] im=[1,7,12] prenosna_funkcija=tf(st,im)

  49. CONTROL TOOLBOX Prenosno funkcijo: Definiramo tudi z ničlami in poli: nicle=[-2] poli=[-3,-4] ojacenje=1 prenosna_funkcija=zpk(nicle,poli,ojacenje)

  50. CONTROL TOOLBOX Lastnosti prenosne funkcije: poli: poli_pr_funkcije=pole(prenosna_funkcija) ničle: nicle_pr_funkcije=zero(prenosna_funkcija) graf lege korenov: pzmap(prenosna_funkcija) dušenje, lastna frek.:damp(prenosna_funkcija) stacionarno ojačenje: dcgain(prenosna_funkcija)

More Related