Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering...

42
University of Belgrade Faculty of Mechanical Engineering Uvod u MATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu Nikola G. Raičević Miloš D. Petrašinović

Transcript of Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering...

Page 1: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

University of BelgradeFaculty of Mechanical Engineering

Uvod u MATLABKatedra za Vazduhoplovstvo

2019.

Mašinski fakultetUniverziteta u Beogradu

Nikola G. RaičevićMiloš D. Petrašinović

Page 2: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Uvod u MATLABSadržaj

• Literatura• Radno okruženje• Tipovi i strukture podataka• Skripte i funkcije• Naredbe uslovnog granjanja i petlje• Ulaz i izlaz podataka• Grafički prikaz podataka• Simbolička izračunavanja

Uvod u MATLAB - 1/41

Page 3: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Uvod u MATLABLiteratura

• Aleksanda S. Cvetković, Slobodan Lj. Radojević,MATLAB I

• Radiša Ž. Jovanović,Matlab i Simulink u automatskom upravljanju

• https://www.mathworks.com/help/matlab/

Uvod u MATLAB - 2/41

Page 4: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Uvod u MATLAB

MATLAB (MATrix LABoratory) je programski paket zanumeričko izračunavanje i grafiku. Prvenstveno je biopredvidjen za matrična izračunavanja, rešavanje sistemalinearnih jednačina, iscrtavanje grafika funkcija itd.Mogućnosti programa su proširene programima koji su pisani uprogramskom jeziku MATLAB koji može da se implementirazajedno sa drugim programskim jezicima kao što su C/C++ iJava. Pored numeričkih izračunavanja postoji imodul MuPADza simbolička izračunavanja.

Preporučuje se korišćenje verzije R2017a ili novije.

Uvod u MATLAB - 3/41

Page 5: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Radno okruženje

Uvod u MATLAB - 4/41

Page 6: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Radno okruženjeDelovi radnog prostora

• A (Command Window) - Komandni prozor za unoskomandi i ispisivanje rezultata,

• B (Workspace) - Prozor sa prikazom dostupnihpromenljivih,

• C (Current Folder) - Prozor sa prikazom dostupnihdatoteka u okviru trenutno otvorenog foldera,

• D - Apsolutna putanja trenutno otvorenog foldera,• E - Dugme Browse for folder za izmenu foldera.

Uvod u MATLAB - 5/41

Page 7: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Radno okruženjeProzor Editor i skript

Uvod u MATLAB - 6/41

Page 8: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Tipovi i strukture podatakaTipovi podataka

• Celobrojni tipovi podataka (int8, uint8, int16,uint16, int32, uint32, int64 i uint64),

• Tipovi podataka u pokretnom zarezu (single, double),• Logički tip (true i false),• Znakovni tip (char),• Funkcije (function handle),• Klase (class),• Ćelije (cell),• Specijalne vrednosti (pi, i, j, Inf i NaN).

Uvod u MATLAB - 7/41

Page 9: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Tipovi i strukture podatakaStrukture podataka

• Matrice (A = [1,2;3,4]),• Višedimenzionalni nizovi (B(:,:,2) = [5,6;7,8]),• Nizovi karaktera - string (C = ’Hello’),• Nizovi ćelija (D = {’a’,1,[1,2]}).

Uvod u MATLAB - 8/41

Page 10: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Tipovi i strukture podatakaAritmetičke operacije

• + - sabiranje• - - oduzimanje• .* - množenje• ./ - desno deljenje• .\ - levo deljenje• .ˆ - stepenovanje

• ’ - transponovanje• * - matrično množenje• / - matrično desno

deljenje• \ - matrično levo deljenje• ˆ - matrično stepenovanje

Uvod u MATLAB - 9/41

Page 11: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Tipovi i strukture podatakaRelacioni operatori

• < - manje• > - veće• <= - manje ili jednako• >= - veće ili jednako• == - jednako• ~= - različito

Uvod u MATLAB - 10/41

Page 12: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Tipovi i strukture podatakaLogičke operacije

• & ili && ili and - konjunkcija• | ili || ili or - disjunkcija• ~ ili not - negacija• xor - ekskluzivna disjunkcija• all - konjunkcija svih elemenata vektora• any - disjunkcija svih elemenata vektora

Uvod u MATLAB - 11/41

Page 13: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Skripte i funkcije

• Uobičajeno je da fajlovi u kojima su pisani programi za MATLABimaju ekstenziju m.

• Skript fajlovi ne prihvataju argumente i ne vraćaju vrednost, koristepromenljive iz radnog prostora. Koriste se kada je neophodnoizvršiti neki niz komandi koji može da se sačuva.

• Funkcijski fajlovi prihvataju ulazne argumente i vraćaju vrednost,koriste lokalni radni prostor i lokalne promenljive. Koriste se kada jepotrebno napraviti nove komande.

• Prilikom pokretanja skripte (Script) ili funkcije (Function)neophodno je da bude sačuvana u okviru foldera koji je trenutnoaktivan (ili funkcijom addpath dodati taj folder medju foldere kojeMATLAB pretražuje).

• Komandom clear se brišu promenljive iz radnog prostora,komandom clc se briše sve iz komandnog prozora i sa close allse zatvaraju grafici. Program je moguće prekinuti sa CTRL+C.

Uvod u MATLAB - 12/41

Page 14: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Skripte i funkcijePrimer skripte - primer1.m

1 %% Naslov u skripti2 % Komentar u skripti3 clear, clc, close all % brisanje i zatvaranje4 A = 1 % prikazuje se u komandnom prozoru5 B = 1; % ne prikazuje se u komandnom prozoru sa ';'6 C = A+B7 a = [1,2] % vektor vrsta8 b = [3;4] % vektor kolona9 c = [5,6,7;8,9,10] % matrica 2x3

10 d = size(c) % d = [2,3]1112 abe = a.*b % mnozenje po elementima13 abm = a*b % matricno mnozenje14 b2 = b(2) % drugi element vektora15 c12 = c(1,2) % element u prvoj vrsti i drugoj koloni1617 i1 = a(1) == d(1) % i1 = logical 018 i2 = a(1) ~= d(1) % i2 = logical 1

Uvod u MATLAB - 13/41

Page 15: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Skripte i funkcijePrimer funkcije - podeli.m

1 function [ceoBroj,ostatak] = podeli(prviBroj,drugiBroj)2 % Funkcija koja deli dva broja i vraca ceo broj i ostatk3 % podeli(11.3,3) = [3, 2.3]45 ceoBroj = floor(prviBroj./drugiBroj);6 ostatak = mod(prviBroj,drugiBroj);7 end

• ceoBroj i ostatak - izlazni argumenti,• podeli - naziv funkcije,• prviBroj i drugiBroj - izlazni argument,• linije 2 i 3 - objašnjenje funkcije (vidi »help podeli),• linije 5 i 6 - naredbe u funkciji.

Uvod u MATLAB - 14/41

Page 16: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Skripte i funkcijeImplementirane funkcije - tip promenljive i prikaz

• whos - osnovne informacije o promenljivim,• isempty, islogical, ischar, isstring,isnumeric, isfloat, isinteger, isscalar,isreal, isnan, isinf, isfinite, issparse,isvector, isobject, ismatrix, isrow,iscolumn, iscell - provera promenljive,

• disp - prikaz promenljive u komandnom prozoru,• num2str - konverzija numeričkog tipa u string zadatog

formata i preciznosti.

Uvod u MATLAB - 15/41

Page 17: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Skripte i funkcijeImplementirane funkcije - elementarna matematika

• sqrt - kvadratni koren,• exp - eksponencijalna funkcija,• log, log10, log2 - logaritam za različite osnove,• abs, sign - apsolutna vrednost i znak,• round, floor i ceil - zaokruživanje brojeva,• sin, cos, tan, cot, asin, acos, atan, acot -

trigonometrijske funkcije (argumenti u radijanima, zaargumente u stepenima dodati d na kraj, npr. sind),

• sinh, cosh, tanh, coth, asinh, acosh, atanh,acoth - hiperboličke funkcije (argumenti u radijanima).

Uvod u MATLAB - 16/41

Page 18: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Skripte i funkcijeImplementirane funkcije - matrice

• linspace - formiranje vektora sa ekvidistantnimtačkama,

• meshgrid - formiranje dve dvodimenzione matrice naosnovu dva vektora (pravougaona mreža),

• ones, zeros, eye, diag - formiranje matrica,• size, ndims, length, numel - dimenzije i broj

elemenata,• reshape, fliplr, fliud, repmat - menjanje oblika

matrica,• sum, prod, cross, norm, det, rank, min, max,mean, sort, unique - operacije nad matricama ivektorima i osobine.

Uvod u MATLAB - 17/41

Page 19: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Skripte i funkcijePrimer skripte - primer2.m

1 A1 = 2:5 % formiranje niza2 A2 = 2.1:53 B1 = 3.1:2.2:204 C = linspace(1,10,3)5 whos A1 % informacije o promenljivoj6 isnumeric(A1(2)) % provera tipa7 disp(['A1=' ... % nastavljanje naredbe u sledecem redu8 num2str(A1(2))]); % prikaz broja u stringu9

10 B1r = round(B1(1)) % zaokruzivanje brojeva11 sB1 = sum(B1) % suma elemenata vektora12 mB1 = mean(B1) % srednja vrednost elemenata vektora13 pA = prod(A1) % proizvod elemenata vektora14 flipA1 = fliplr(A1) % okretanje vektora1516 % Sistem linearnih jednacina Ax=B17 % 2x+3y = 5, 3x+5y = 718 A = [2,3;3,5], B = [5;7], x = A\B

Uvod u MATLAB - 18/41

Page 20: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Skripte i funkcijePrimer skripte - primer3.m

1 A = rand(6,5) % matrica 6x52 % rand − uniformno rasporedjeni pseudoslucajni brojevi34 Av2 = A(2,:) % druga vrsta5 Ak3 = A(:,3) % treca kolona6 Ave = A(end,:) % poslednja vrsta7 Av224 = A(2,2:4) % elementi u vrsti 2 i kolonama 2, 3 i 48 Avn = A(1,1:2:end) % vrsta 1 i neparne kolone9

10 B1 = zeros(4,3) % matrica 4x3 puna nula11 B2 = ones(3,5) % matrica 3x5 puna jedinica1213 C = [2,7,9,1]14 Cm = diag(C) % matrica sa vektorom C na dijagonali1

Uvod u MATLAB - 19/41

Page 21: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Skripte i funkcijeImplementirane funkcije - numerika

• interp1, interp2, interpn - interpolacija,• fzero, roots - nula funkcije ili polinoma,• integral, trapz, quad - numeričko izračunavanje

itegrala,• diff - razlika i numeričko diferenciranje,• fit - aproksimacija podataka,• ode45, ode23, ode23s, ode113, pdepe -

diferencijalne jednačine.

Uvod u MATLAB - 20/41

Page 22: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Naredbe uslovnog granjanja i petljeNaredbe if i switch

Naredbe if i switch su naredbe uslovnog granjanja, naosnovu izaraza se odredjuje koji će blok naredbi biti izvršen.

1 a = 1; b = 2;2 if a > b3 disp('a>b');4 elseif a < b5 disp('a<b');6 else7 disp('a=b');8 end

1 a = 2;2 switch a3 case 14 disp('a = 1');5 case 26 disp('a = 2');7 otherwise8 disp('a ~= [1,2]');9 end

Uvod u MATLAB - 21/41

Page 23: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Naredbe uslovnog granjanja i petljeNaredba try

Naredba try se koristi kada je potrebno probati izvršenjenekog bloka naredbi i ukoliko dodji do greške moguće jeregistrovati (u okviru naredbe catch) i nastaviti saizvršavanjem programa.

1 A = [1,2];2 try3 B = A(3);4 catch5 disp('Doslo je do greske');6 B = 0;7 end8 A,B

Uvod u MATLAB - 22/41

Page 24: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Naredbe uslovnog granjanja i petljePetlje for i while

Petlja for izvršava blok naredbi unapred zadati broj puta dokpetlja while izvršava blok naredbi sve dok je ispunjen uslov.

1 for i = 1:32 is = num2str(i);3 disp(['ciklus ' is]);4 end

1 i = 1;2 while i < 43 is = num2str(i);4 disp(['ciklus ' is]);5 i = i+1;6 end

Uvod u MATLAB - 23/41

Page 25: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Naredbe uslovnog granjanja i petljeNaredbe return, break, continue i pause

• return - prekida izvršenje funkcije,• break - prekida izvršenje petlju,• continue - omogućava prelazak na sledeći ciklus u petlji

bez završetka prethodnog,• pause - prekida izvršenje programa na odredjeno vreme.

Uvod u MATLAB - 24/41

Page 26: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Naredbe uslovnog granjanja i petljeAnonimne funkcije

Definiše se tip podataka function_handle, to je funkcijadefinisana jednom linijom koda bez snimanja u m fajl (linija 3 usledećem listingu). Prikazano je izračunavanje odredjenogintegrala za ovu funkciju i nalaženje nule.

1 x0 = 0;2 x1 = 1;3 p = @(x) x.^2−1 % anonimna funkcija4 a = p(2) % a = 45 % Izracunavanje integrala x^2 od 0 do 16 I = integral(p,x0,x1)7 nula = fzero(p,x0) % x0 je pretpostavka

Uvod u MATLAB - 25/41

Page 27: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Ulaz i izlaz podatakaImplementirane funkcije - osnovne

• load i save - učitavanje i snimanje promenljivih,• fopen i fclose - otvaranje i zatvaranje fajlova,• fwrite, fprintf, sprintf - pisanje i formatiranje

podataka,• fread, fgetl, fscanf, fgets, fgetl, sscanf,fileread, textscan - citanje podataka,

• feof, ferror, frewind, fseek, ftell - pomoćnefunkcije prilikom čitanja i pisanja.

Uvod u MATLAB - 26/41

Page 28: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Ulaz i izlaz podatakaImplementirane funkcije - dodatne

• imread, imwrite, imsave - učitavanje i snimanjeslika,

• serial, seriallist, readasync - serijskakomunikacija,

• web, webread, webwrite, ftp, sendmail,tcpclient - internet stranice i protokoli,

• jsondecode, jsonencode - JSON objekti.

Uvod u MATLAB - 27/41

Page 29: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Ulaz i izlaz podatakaFormatiranje podataka

Na sledećoj slici je prikazana struktura operatora zaformatiranje podataka.

Dokumentacija:https://www.mathworks.com/help/matlab/ref/sscanf.html

Uvod u MATLAB - 28/41

Page 30: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Ulaz i izlaz podatakaPrimer skripte - primer4.m

1 fid = fopen('fajl.txt','w') % otvaranje fajla za pisanje2 fprintf(fid,'Hello, World!\n') % upisivanje teksta u fajl34 % pravljenje stringa od broja5 spi = sprintf('%.8f',pi); % pi sa 8 decimala6 fprintf(fid,['pi = ' spi '\n'])7 fprintf(fid,'pi = %d\n',2)8 fprintf(fid,'slovo %c\n','A')9 fclose(fid) % zatvaranje fajla

1011 fid = fopen('fajl.txt','r') % otvaranje fajla za citanje12 i = 1; t = {};13 while ~feof(fid)14 t{i} = fgetl(fid); % citanje teksta iz fajla15 t{i}16 i = i+1;17 end18 fclose(fid)

Uvod u MATLAB - 29/41

Page 31: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Grafički prikaz podatakaJednostavan grafički prikaz podataka u okviru MATLAB-a jejedna od najznačajnijih njegovih karakteristika za inženjere.Grafički ili vizuelni prikaz podataka se može podeliti nadvodimenzionalne i trodimenzionalne grafike.

• figure - prozor grafika,• subplot - više grafika u prozoru,• gca - aktivan grafik,• cla - brisanje podataka sa grafika,• hold, grid, box - zadržavanje grafika, prikaz mreže i

kontura grafika,• drawnow - osvežavanje podataka,• - red boja za prikaz.

Uvod u MATLAB - 30/41

Page 32: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Grafički prikaz podatakaPodešavanje grafika

• title - naslov grafika,• axis - podesavanje osa,• xlim, zlim, zlim - granice osa,• xlabel, ylabel, zlabel - naziv osa,• view, rotate, rotate3d, zoom, pane, colormap,colorbar, shading - podesavanje prikaza,

• text - ispisivanje teksta,• legend - legenda grafika.

Uvod u MATLAB - 31/41

Page 33: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Grafički prikaz podatakaDvodimenzionalni grafici

• plot, area, loglog, semilogx, semilogy -crtanje linija,

• fplot, fimplicite - crtanje funkcija,• fill - crtanje poligona,• histogram, pie, scatter - prikaz raspodele

podataka,• bar, barh, stem, stairs - prikaz diskretnih

podataka,• polarplot, polarscatter, polarhistogram -

polarni grafici,• contour, contourf, contourc - konturni grafici,• feather, quiver - vektorski grafici.

Uvod u MATLAB - 32/41

Page 34: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Grafički prikaz podatakaTrodimenzionalni grafici

• plot3 - crtanje linija,• fplot3 - crtanje funkcija,• pie3, scatter3 - prikaz raspodele podataka,• bar3, barh3, stem3 - prikaz diskretnih podataka,• contour3 - konturni grafici,• quiver3 - vektorski grafici.• surf, mesh, fsurf, fmesh, trisurf, trimesh,waterfall, ribbon, fill3, patch - crtanje površi ipoligona.

Uvod u MATLAB - 33/41

Page 35: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Grafički prikaz podatakaIzgled linija

Izgled linije na grafiku je definisan sa tri komponente i to tiplinije, markeri i boja. Svaka od ovih komponenata sepodešava na odredjeni način.

Dokumentacija:https://www.mathworks.com/help/matlab/ref/linespec.htmlhttps://www.mathworks.com/help/matlab/ref/colorspec.html

Uvod u MATLAB - 34/41

Page 36: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Grafički prikaz podatakaPrimer skripte - primer5.m

1 close all % zatvaranje svih grafika2 figure(1) % prozor prvog grafika3 hold on, grid on, box on4 x = −2*pi:pi/20:2*pi;5 plot(x,sin(x),'−o','LineWidth',2); % crtanje linije6 plot(x,sin(2*x),'−','LineWidth',2);7 title(['Grafik funkcija sin(x) i sin(2x)']) % naslov8 xlabel('x [−]'), ylabel('y [−]') % naziv osa9 legend('sin(x)','sin(2x)','Location','SouthEast')

10 axis([−2*pi,2*pi,−1.5,1.5]); % granice osa1112 figure(2) % prozor drugog grafika13 hold on, grid on, box on, boje = get(gca,'colororder');14 z = 0:pi/20:10*pi; x = sin(z); y = cos(z);15 plot3(x,y,z,'−.','LineWidth',2,'Color',boje(3,:));16 title('Grafik spirale')17 xlabel('x [−]'), ylabel('y [−]'), zlabel('z [−]')18 view(−50,25) % podesavanje pogleda

Uvod u MATLAB - 35/41

Page 37: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Grafički prikaz podatakaPrikaz grafika

Uvod u MATLAB - 36/41

Page 38: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Simbolička izračunavanja

Sva prethodna izračunavanja su bilia prikazana za numeričkitip podataka, pored ovog tipa moguće je u okviruMATLAB-a raditi i sa simboličkim promenljivimzahvaljujući Symbolic Math Toolbox-u .

• sym, syms, assume - formiranje simboličke promenljive iliizraza,

• subs - simbolička supstitucija,• vpa - numerička vrednost promenljive.

Uvod u MATLAB - 37/41

Page 39: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Simbolička izračunavanjaImplementirane funkcije

• solve, linsolve, dsolve - rešavanje jednačina,• simplify, coeffs, expand, numden -

pojednostavljivanje i preuredjenje izraca,• diff, jacobian - diferenciranje,• int - integracija,• limit - granična vrednost funkcije,• symsum - sumiranje.

Uvod u MATLAB - 38/41

Page 40: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Simbolička izračunavanjaPrimer skripte - primer6.m

1 syms x y % formiranje simbolicke promenljive23 simplify(cos(x)^2−sin(x)^2) % pojednostavljenje izraza4 f = x^3+2*x^2 % simbolicka funkcija5 diff(f) % diferenciranje6 int(f) % integracija7 limit((1+1/x)^x,x,inf) % granicna vrednost89 f2 = subs(f,x,1.5) % supstitucija

10 f2n = vpa(f2) % numericka vrednost1112 e1 = 2*x+3*y == 5; % prva jednacina13 e2 = 3*x+5*y == 7; % druga jednacina14 [x1,y1] = solve(e1,e2,x,y) % resenje sistema jednacina

Uvod u MATLAB - 39/41

Page 41: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Primer strukture programaStruktura programa za projektovanje letelice FLYWAVE-005.

Uvod u MATLAB - 40/41

Page 42: Uvod u MATLAB - Katedra za Vazduhoplovstvo University of Belgrade Faculty of Mechanical Engineering UvoduMATLAB Katedra za Vazduhoplovstvo 2019. Mašinski fakultet Univerziteta u Beogradu

Kraj prezentacije

Hvala na pažnji!

Uvod u MATLAB - 41/41