Post on 09-Dec-2018
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
1
Capitolul 3. Reprezentări grafice 2D în Matlab
Una dintre facilitățile importante ale MATLAB-ului constă în abilitatea sa de a fi
utilizat într-o manieră simplă la vizualizarea datelor experimentele.
MATLAB oferă numeroase facilităţi pentru prezentarea vizuală a datelor atât în mod
interactiv, apelând la instrumente de editare dedicate, cu interfaţă grafică pentru utilizator, cât
şi cu ajutorul funcţiilor specializate, apelate direct în fereastra de comenzi sau introduse în
fişiere script (M-file).
Întregul sistem MATLAB se bazează pe operarea cu uşurinţă a datelor în format
vectorial, la fel de simplu ca şi în cazul scalarilor.
În din linia de comandă din Matlab 7.9 se pot tasta:
help graphics: pentru instrucțiuni grafice generale;
help graph2d: pentru instrucțiuni asociate graficelor 2D;
help graph3d: pentru instrucțiuni asociate graficelor 3D;
demo matlab graphics: pentru mai multe exemple.
În general, pentru a realiza o reprezentare grafică, trebuie parcurse etapele următoare:
Etapa Instrucțiuni
1.Pregătirea datelor x = 0:0.2:12;
y1 = bessel(1,x);
y2 = bessel(2,x);
y3 = bessel(3,x);
2. Selectarea ferestrei
grafice și poziționarea
graficului în fereastră
figure(1)
subplot(2,2,1)
3. Apelarea unei
funcții elementare de
plotare
h = plot(x,y1,x,y2,x,y3);
4. Selectarea
caracteristicilor liniei
set(h,'LineWidth',2,,)
set(h,,)
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
2
și markerului.
5. Setarea limitelor
axelor, gridare
(caroiere)
axis([0 12 -0.5 1])
grid on
6. Completarea
graficului cu etichete
pe axe, legenda, text
xlabel('Time')
ylabel('Amplitude')
legend(h,'First','Second','Third')
title('Bessel Functions')
[y,ix] = min(y1);
text(x(ix),y,'First Min rightarrow',
'HorizontalAlignment','right')
7. Export grafice print -depsc -tiff -r200 myplot
Reprezentarea curbelor în plan se face cu funcţiile din Error! Reference source not
found. 3.1:
Tabelul 3. 1. Funcţii pentru reprezentarea curbelor plane.
Funcţia Tipul graficului
plot scară liniară pe ambele axe
loglog scară logaritmică pe ambele axe
semilogx scară logaritmică pe axa Ox
semilogy scară logaritmică pe axa Oy
plotyy
reprezintă două grafice în aceeași fereastră figură: unul cu
axa Oy afișată în stânga, iar celălalt cu axa Oy afișată în
dreapta. Este o funcție disponibilă începând cu versiunea
Matlab 5
fill reprezintă grafic poligoane
polar reprezentare grafică în coordonate polare
stem grafic cu linii terminate cu cercuri
stairs grafic în scară
bar grafic cu bare
barh reprezentare cu bare orizontale
area reprezentare cu arii
Funcţiile au în general ca parametri, perechile de vectori .,,,, 11 nn yxyx
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
3
Vectorii nxx ,,1 conţin abscisele curbelor, iar vectorii nyy ,,1 conţin ordonatele
curbelor.
3.1. Reprezentarea grafică în coordonate carteziene
Cel mai simplu obiect geometric din plan este punctul. Poziția unui punct în plan poate fi
specificată atât într-un sistem de coordonate cartezian cât și în sistemul de coordonate polare.
Sistemul de coordonate carteziene este definit de reperul xOy din plan, constituit din
punctul O numit origine si perechea de axe ortogonale OyOx, , cu originea O comună.
Reperul este folosit pentru a determina în mod unic un punct M în plan prin perechea de
numere 00 , yx , 0x fiind abscisa iar 0y ordonata punctului M .
Pentru a defini aceste coordonate, se specifică două drepte perpendiculare și unitatea
de lungime, care este marcată pe cele două axe.
00 , yxM
y
x
0x
0y
Figura 3. 1. Sistemul de coordonate carteziene
Reprezentarea datelor în coordonate carteziene este realizată utilizând funcţia plot.
Această funcție permite reprezentarea grafică a datelor în coordonate liniare și are
diferite forme de utilizare în funcție de argumentele de intrare. După apelul funcției, sunt
create unul saumai multe obiecte grafice de tip line care sunt copii ai unui obiect grafic de tip
axes. Dacă acesta din urmă nu există, este creat în mod automat.
Funcţia plot are diverse forme, în funcţie de argumentele care se furnizează:
plot(y): rezultă un grafic, liniar pe porţiuni, al elementelor lui
y, în funcţie de index-ul elementelor lui y. Se
consideră pe abscisă indicii elementelor vectorului y și
pe ordonată valorile elementelor;
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
4
Observația 3. 1.
(i) dacă argumentul y este complex, atunci plot(y) este echivalent cu:
plot(real(y), imag(y));
Exemplul 3. 1. Să se reprezinte grafic numărul complex:
y=[1+i 2+1.4142i 3+1.7321i 4+2i 5+2.2361i 6+2.4495i 7+2.6458i 8+2.8284i 9+3i
10+3.1623i];
Figura 3. 2. Reprezentarea grafică a numărului complex y
(ii) dacă y este vector (linie sau coloană), funcția plot trasează graficul:
y = y(i),
unde indexul ni ,1 este numărul de ordine al elementului y;
(iii) dacă y este o matrice de m x n, funcția plot trasează graficele:
yj = yj(i)
unde ni ,1 este numărul de ordine al elementului yj de pe coloana j, cu ;,1 mj
plot(x,y): reprezintă grafic datele experimentale conținute în
vectorii x și y, adică se reprezintă grafic elementele
vectorului y în raport cu cele ale vectorului x;
Observația 3. 2.
(i) dacă x este un scalar și y un vector, de lungime n=length(y), se trasează un
număr n de puncte discontinui pe axa y, în dreptul valorii x;
Exemplul 3. 2. Reprezentaţi grafic scalarul x=1 şi vectorul y, ce are drept componente
numerele de la 1 la 10.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
5
Figura 3. 3. Graficul corespunzător cazului când y vector şi x scalar
(ii) dacă x este un vector și y un alt vector, atunci lungimea celor doi vectori trebuie
să fie aceeași, n=length(x)=length(y) și se trasează graficul variației continue a
lui y funcție de x;
Exemplul 3. 3. Reprezentaţi grafic funcţia
.10,1,25.1 xxxy
Figura 3. 4. Variaţia lui y vector functie de x vector
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
6
Exemplul 3. 4. Reprezentaţi grafic funcţia
.05.0,5,0,sin 2 hxxxy
Figura 3. 5. Variatia lui y vector functie de x vector
Exemplul 3. 5. Să se traseze în coordonate x-y evoluţia:
t 0 1 2 3 4 5 6 7 8 9 10 11 12
y 0 0.55 1 2 4 7.2 11 14 15.1 16 16 16 16
Figura 3. 6. Evoluţia semnalului
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
7
(iii)dacă x este un vector și y o matrice, atunci nl=length(x) trebuie să fie egal cu m
din [n,m]=size(y), și se trasează graficul variației continue a fiecărei coloane a lui
y funcție de x, ca în Fig. 3.5;
Exemplul 3. 6. Reprezentaţi grafic funcţia vectorială
.10,1,25.1 xxxxy
Figura 3. 7. Variația lui y matrice funcție de x vector
(iv) dacă x și y sunt matrice, de aceeași dimensiune (size(x)=size(y)), se reprezintă
coloanele lui y funcție de coloanele lui x.
Exemplul 3. 7. Să se reprezinte grafic datele conţinute în matricele:
.
17.4767
2.37845.6569
3.94823.9482
5.65692.3784
7.47671
,
55
44
33
22
11
yx
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
8
Figura 3. 8. Variaţia lui y matrice funcție de x matrice
plot(x,y,s):
reprezintă grafic tablourile de numere x şi y, în funcţie
de specificaţiile din şirul de caractere s, ce poate avea
lungimea 1, 2 sau 3 şi este folosit special pentru
facilităţile de formatare a graficului: selectarea culorii
(roşu, galben, albastru, negru etc.), selectarea tipului
marcajului (punct, cerc, stea, pătrat etc.), selectarea
tipului de linie (solidă, punctată etc.);
Observația 3. 3. Proprietăţile liniilor cu care se trasează graficele sunt: culoarea
(graficele pot fi trasate cu diverse culori), stilul (continuă, etc.) şi simbolurile de marcaj
(punctele de pe grafic pot fi marcate cu diverse simboluri). Aceste trei proprietăţi (culoare,
simbol de marcaj şi stilul liniei) se specifică utilizând simbolurile din Error! Reference
source not found.ele 3.2-3.4 printr-un şir de caractere, câte unul pentru fiecare proprietate.
Vom lista codurile corespunzătoare fiecărui simbol de marker, fiecărei culori şi
fiecărui stil de linie folosite într-o reprezentarea grafică 2D:
Tabelul 3. 2. Simboluri de markere.
Specificator Tipul de marker
+ Semnul plus
o Cerc
* Asterisc (steluţă)
. Punct
x x
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
9
„square‟ sau s Pătrat
„diamond‟ sau d Romb
„pentagram‟ sau p Pentagon
„hexagram‟ sau h Hexagon
^ Triunghi cu vârful în sus
v Triunghi cu vârful în jos
< Triunghi cu vârful spre stânga
> Triunghi cu vârful spre dreapta
Tabelul 3. 3. Specificatori de culori.
Specificator Culoarea
r roşu (red)
g verde (green)
b albastru (blue)
c albastru deschis (cyan)
m mov (magenta)
y galben (yellow)
k negru (black)
w alb (white)
Tabelul 3. 4. Specificatorii stilurilor de linie.
Specificator Stilul de linie
- Linie continuă
-- Linie întreruptă
: Puncte
-. Linie- punct
Observația 3. 4. Pentru a utiliza o anumită culoare, tip de linie sau simbol la curba (xi,
yi), perechea de vectori xi, yi este urmată de un şir de caractere din tabelele de mai sus de
forma ‘cml’ ce precizează culoarea, markerul şi simbolul cu care se trasează curba.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
10
Exemplul 3. 8. Reprezentarea în Matlab 7.9 a punctului 6,5.0P se poate realiza
folosind comanda:
Exemplul 3. 9. Realizaţi reprezentarea grafică din Exemplul 3.7 folosind:
a) culoarea albastră;
Figura 3. 9. Variaţia lui y matrice funcție de x matrice, de culoare albastră
b) cu markere de tip ”pătrate negre” în fiecare punct de grafic, însă fără a conectecta
marker-ele cu linie;
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
11
Figura 3. 10.Variaţia lui y matrice funcție de x matrice, de culoare albastră cu markere
c) cu marker de tip”+” şi linie “:”, ambele de culoare roşie.
Figura 3. 11.Variaţia lui y matrice funcție de x matrice, cu markere şi linie de culoare roşie
Exemplul 3. 10. Reprezentaţi grafic funcţia:
.1,
1.1,sign1.1
xx
xxxf
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
12
Figura 3. 12. Reprezentarea grafică a unei funcții definită pe ramuri
Matlab 7.9 permite reprezentrea grafică în coordonate carteziene nu numai a
punctului, ci și a altor obiecte geometrice elementare, precum: dreapa, segmentul, linia
poligonală, triunghiul sau vectorul, pe baza funcțiilor:
plot([x0,x1],[y0,y1]): reprezintă grafic dreapta ,CBYAX
,022 BA CBA ,, fiind coeficienții acesteia,
determinată de punctele ,, 00 yx 11, yx ;
plot([x0, x0+1,v1],[y0, y0+1,v2]): trasează dreapta determinată de punctul 00 , yxP
și vectorul director v=[v1,v2];
plot(x,y): reprezintă grafic segmentul ale cărui extremități
,, 00 yxP ,, 11 yxQ au coordonatele precizate în
vectorii x și y, adică x=[x0,x1] și y=[y0,y1];
reprezintă linia poligonală ale cărei vârfuri au
coordonatele incluse vectorii x și y;
reprezintă triunghiul cu vârfurile ,, 11 yxA
,, 22 yxB
,, 33 yxC astfel încât x=[x1,x2,x3,x1]
și y=[y1,y2,y3,y1];
arrowline(x,y): desenează vectorul ale cărui extremități ,, 00 yxP
,, 11 yxQ au coordonatele precizate în vectorii x
și y, adică x=[x0,x1] și y= [y0,y1].
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
13
Obiectul grafic creat poate fi personalizat (pentru adnotarea și editarea graficelor) în
următoarele trei moduri:
A) completând instrucțiunea care realizează reprezentarea grafică a funcției respective
cu atribute precum:
'LineWidth' (grosimea liniei);
'MarkerEdgeColor' (specificatorul de culoare al contrurului corespunzător
marker-ului utilizat);
'MarkerFaceColor' (specificatorul de culoare al feței marker-ului utilizat);
'MarkerSize' (dimensiunea marker-ului);
și cu ajutorul unor comenzi precum:
title(‘titlul dorit‟)- adaugă un titlu în partea superioară a figurii, unde ‘titlul
dorit‟ este un șir de caractere care reprezintă titlul graficului.
xlabel(‘text dorit’)- stabilește eticheta axei Ox (un text sub axa Ox), unde
'text dorit' este un șir de caractere, care reprezintă, în general, numele axei,
unitatea de masură sau alte elemente utile ale axei graficului curent.
ylabel(‘text dorit‟)- scrie eticheta axei Oy (un text de-aa lungul axei Oy);
text(x,y,‘text dorit‟)- permite introducerea unui „text dorit’ pe grafic la o
poziție indicată de coordonatele grafice (x,y);
Exemplul 3. 11. Să se reprezinte grafic funcţiile
,cossin,cos,sin,2sin xxxxx
plasându-se pe grafic pe poziţia (0.2, -0.5) şi un text cu numele autorului care a realizat
graficul.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
14
Figura 3. 13. Graficul a patru funcţii, pe care este plasat numele autorului
gtext(‘text dorit‟)- permite introducerea unui „text dorit’ pe grafic la o
poziție specificată prin click stânga mose; funcția afișează șirul de caractere
'text dorit' în fereastra grafică și așteaptă deplasarea acestuia pe grafic cu
mouse-ul. Apasând un buton al mouse-ului sau orice tastă, textul se scrie pe
grafic la poziția selectată.
Exemplul 3. 12. Adăugaţi pe graficul creat în Exemplul 3.11 şi un text cu numele
coauturului.
Figura 3. 14. Graficul a patru funcţii, pe care este plasat numele autorului și coautorului
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
15
legend- plasează legenda pe grafic; legenda arată tipul, markerul şi culoarea
folosită pentru a reprezenta curba, plus textul specificat; are una cele două
sintaxe:
legend(‘sir1’, ‘sir2’, ..., ‘sirn’)- scrie legenda în colţul dreapta sus;
legend(‘sir1’, ‘sir2’, ..., ‘sirn’, pos)- scrie legendele în poziţia
specificată de argumentul „pos‟, ce are valorile din Error!
Reference source not found. 3.5.
Tabelul 3. 5. Specificarea poziţiei legendei.
pos Poziţia
0 cea mai bună poziţie
1 colţul dreapta-sus
2 colţul stânga-sus
3 colţul stânga-jos
4 colţul dreatpa-jos
-1 în afara graficului
Eliminarea legendei din figura curentă se realizează cu sintaxa: legend off;
Exemplul 3. 13. Rerprentaţi grafic funcţiile Bessel de speţa întâi, de ordinele 1-3.
bessel(n,x): calculează funcţiile Bessel de speţa întâi, de ordinul n,
în punctul x;
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
16
Figura 3. 15. Plasarea legendei pe grafic
axis- admite un număr de opţiuni pentru setarea scalării, orientării, și
aspectului graficelor. De asemenea, aceste opţiuni se pot seta interactiv.
1) axis([xmin xmax ymin ymax])- setează intervalele de valori
corespunzătore axelor Ox și Oy, unde:
- xmin- valoarea minimă pe axa x,
- xmax- valoarea maximă pe axa x;
- ymin- valoarea minimă pe axa y;
- ymax- valoarea maximă pe axa y;
2) axis auto- selectarea automată a axelor;
3) axis auto normal- modul de scalare revine la cel iniţial, automatic;
4) axis square- determină ca limitele axelor x și y să fie de aceeaşi lungime;
5) axis equal- determină incrementul pe axele x și y de aceeaşi lungime;
6) axis on- face axele vizibile, această comandă fiind cea implicită; axele
devin invizibile utilizând comanda axis off;
Exemplul 3. 14. Reprezentaţi grafic funcţia [ ]
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
17
Figura 3. 16. Oval
Apelarea comenzii
axis square
sau
axis equal
face ca ovalul să devină cerc.
Figura 3. 17. Cerc
Dacă dorim ca axele să devină invizibile utilizăm axis off.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
18
Figura 3. 18. Reprezentarea grafică a cercului cu axe invizibile
Exemplul 3. 15. Să se reprezinte grafic funcţia .,,sin ttty
grid on (sau grid)- inserează pe grafic o reţea de linii de grilă; liniile de grid
dispar utilizând sintaxa:grid off;
Exemplul 3. 16. Să se reprezinte grafic funcţiile 2sin,sin xx şi .2,0,2sin xx
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
19
Figura 3. 19. Reprezentare grafică cu afișarea gridului
Apelarea comenzii grid off determină dispariţia liniilor de grid
Figura 3. 20. Reprezentarea grafică fără fișarea gridului
Exemplul 3. 17. Reprezentarea grafică a funcţiilor tsin şi tcos pe intervalul .2,0
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
20
Figura 3. 21. Reprezentarea grafică a funcţiilor sin şi cos pe intervalul [0, 2 π].
B) accesând butonul Show Plot Tools and Dock Figure din fereastra Figure, ce
conține graficul respectiv. După realizarea setărilor dorite se accesează butonul
Hide Plot Tools în vederea salvării acestora și revenirii la fereastra Figure;
Exemplul 3. 18. Reprezentaţi arcul de parabolă:
2: xyAB ,
care uneşte punctele 1,1A si 4,2B .
Secvenţa Matlab următoare permite reprezentarea arcului AB .
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
21
Figura 3. 22. Fereastra Figure, ce conține graficul respectiv
C) folosind comanda plotedit on sau plotedit pentru a deschide fereastra de plotare
cu meniul corespunzător, care permite să se insereze etichete pentru axe, titlul
graficului, legenda, bara de culoare, linii, text, axe și să se regleze luminozitatea;
ieșirea din modul de editare se face prin comanda: plotedit off.
Observația 3. 5.
(i) Orice deschidere a unei figuri Matlab, având extensia fig, permite editarea acesteia.
(ii) Repetarea instrucțiunii xlabel, ylabel, title, etc. cu un alt șir de caractere, conduce la
înlocuirea textului anterior, fară a fi necesară refacerea reprezentării grafice.
(iii)Legenda se poate muta pe grafic în poziția dorită prin apăsare mouse stânga și apoi
mutarea în poziția dorită. Scanarea graficului, pentru poziționarea legendei, se
execută cu funcția lscan, care găsește cel mai bun plasament al legendei, care să nu
se suprapună peste grafic și să fie vizibilă. Mutarea legendei se face automat, cu
funcția moveaxis, apelată de legend și instalată automat în ButtonDownFcn.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
22
(iv) Comanda axis([-10 40 -60 60]) va produce o reprezentare cuprinsă între -10 şi 40 pe
axa x şi respectiv -60 şi 60 pe axa y.
(v) Instrucţiunile precedente pot avea şi alţi parametrii, care să modifice tipul,
dimensiunea, stilul sau culoarea fontului. Un parametru util este FontSize ce dă
dimensiunea fontului. De exemplu, funcţia:
xlabel('sir', 'FontSize', 14)
scrie eticheta axei x cu dimensiunea fontului 14.
(vi) Este posibil de a utiliza litere greceşti, alte caractere speciale sau expresii simple în
instrucţiunile care afişază şiruri: title, xlabel, ylabel, text.
Acestea se scriu după regulile din Latex:
A) Caracterele se definesc în text sub forma:
\nume caracter
Exemple de caractere sunt prezentate în Error! Reference source not found. 3.6.
Tabelul 3. 6. Exemple de caractere.
Caracter Definiţie Caracter Definiţie Caracter Definiţie
\theta \leq \leftarrow
\Theta \geq \rightarrow
Π \Pi ≠ \neq \uparrow
\alpha ' \prime \downarrow
± \pm ∂ \partial \leftrightarrow
\infty \equiv ∫ \int
× \times ÷ \div √ \surd
└ \lfloor ┘ \rfloor
\subseteq \supseteq
Definiţia literelor greceşti mari începe cu literă mare, a celor mici cu literă mică, de
exemplu \Omega pentru şi respectiv \omega pentru .
B) Expresiile se definesc după următoarele reguli:
expresii cu exponenţi: expresia ba se defineşte ca a^b,
expresii cu indici: expresia xi se defineşte ca x_i,
dacă este cazul, expresiile se grupează între acolade { }; expresia xi+j se
defineşte ca x_{i+j}.
C) Pentru a transforma o expresie în:
a) echivalent TeX, se utilizează funcția
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
23
texlabel('expresie')
Exemplul 3. 19. Transformați expresia 22
22sin
yx
yx
în echivalent TeX, pentru
aplicaţii Matlab 7.9.
b) forma literală, este necesară funcția
texlabel('expresie','literal').
Exemplul 3. 20. Scrieți sub formă literală expresia .3223
12
D) Pentru a afişa un „text‟ înclinat, (stilul italic), se definește acel text ca:
\it’text’
iar pentru afişare cu litere groase (bold), se definește textul ca:
\bf’text’.
Exemplul 3. 21. Să se reprezente grafic funcţia sin(θ) pe intervalul [0, 2 π]. Se
editează următoarele texte:
pe axa y, textul “sin(θ)”,
pe axa x, textul “0 ≤ θ ≤ 2 π”,
titlul graficului va fi “Functia sin(θ)”.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
24
Figura 3. 23. Reprezentarea grafică a funcţiei sin(θ) pe intervalul [0, 2 π].
Pentru a utiliza interpreterul Latex generăm un şir de caractere cu expresia ce dorim să
fie afişată şi apelăm funcţia text.
Șirurile de caractere se afişază pe grafic într-o anumită poziţie cu funcţia text cu
forma :
text(‘NumeProprietate’, ValoareProprietate, …)
Proprietăţile des utilizate ale obiectului text sunt:
„String‟ – şirul care va fi afişat;
„FontSize‟ – dă dimensiunea fontului în unităţi de font;
„FontUnits‟ – unităţile de font, „points‟, „normalized‟, „pixels‟, „centimeters‟;
„HorizontalAlignment‟ – aliniamentul orizontal, „left‟, „center‟, right;
„VerticalAlignment‟ – aliniamentul vertical, „top‟, „middle‟, „bottom‟;
„Interpreter‟ – interpreterul utilizat, „latex‟, „tex‟, „none‟;
„Units‟ – unităţile de măsură, „points‟, „normalized‟, „pixels‟, „centimeters‟;
„Position‟ – poziţia şirului, [x, y].
Opţiunea „normalized‟ a proprietăţii „Units‟ transformă colţul din stânga jos al
dreptunghiului figurii în (0, 0) şi cel din dreapta sus în (1, 1).
Exemplul 3. 22. Să reprezinte grafic funcţia ].4,0[,sin ttt Eticheta axei Ox, t[s],
va fi scrisă cu litere groase (bold). Se afişează pe figură formula ,sin tt în centrul figurii.
Scrierea cu stilul bold a etichetei axei Ox necesită utilizarea instrucţiunii:
xlabel('\bft[s]')
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
25
Pentru afişarea în centrul figurii a formulei ttsin se realizează un şir de caractere cu
formula scrisă în Latex :
texstr = '$\frac{sin(t)}{t}$';
Figura 3. 24. Reprezentarea grafică a funcţiei sin(t) / t
Implicit, fiecare instrucţiune plot crează o nouă figură. Deşi o instrucţiune plot poate
reprezenta grafic mai multe curbe, uneori este necesar să reprezentăm mai multe curbe pe
aceeaşi figură cu mai multe instrucţiuni plot.
Exemplul 3. 23. Să se reprezinte grafic funcţiile xsin şi .2,0, xe x
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
26
Figura 3. 25. Reprezentarea grafică 2D
plot(x,y,u,v): reprezintă grafic datele experimentale conținute în
vectorii x, y, u și v;
Exemplul 3. 24. Să se calculeze masa corespunzătoare unei plăci plane, având forma
domeniului
2222 3,4|, xyyxyxD
si densitatea yyx , .
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
27
Masa unei plăci plane, de forma unui domeniu D și densitatea yx, :
.dd,M yxyxDD
(3. 1)
Secvența Matlab 7.9 permite reprezentarea grafică domeniului D .
Figura 3. 26. Reprezentarea plăcii plane, având forma domeniului
Coordonatele punctelor A și B, reprezentate în figura anterioară se determină folosind
funcția solve:
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
28
Se poate observa că:
.43
,33|, 22
2
xyx
xyxD
Apoi, se calculează masa plăcii plane:
Exemplul 3. 25. Realizând câteva teste asupra unor trenuri obţinem următorul tabel
(în unităţi relative), care exprimă rezistența de tracțiune în funcție de viteză:
viteza iv 20 40 60 80 100 120
rezistența iR 5.5 9.1 14.9 22.8 33.3 46
Determinaţi expresia analitică (empirică) a parabolei, ce caracterizează acest
experiment, care să ne permită să estimăm cele mai bune rezistențe, corespunzătoare vitezelor
care nu apar în tabelul anterior, dar sunt cuprinse între 20 şi 120 unităţi relative.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
29
Figura 3. 27. Reprezentarea grafică a parabolei, ce caracterizează experimentul considerat
plot(x1,y1,x2,v2,…xn,yn): reprezintă grafic în acelaşi sistem de coordonate
perechile de argumente (x1,y1), (x2,y2),…, (xn,yn) ;
Observația 3. 6. MATLAB accesează automat un set predefinit de diverse culori
(setul poate fi modificat) ce permit diferenţierea vizuală între seturile de date.
Exemplul 3. 26. Să se reprezinte grafic cele trei curbe de variaţie funcţie de x:
5.0sin2
25.0sin2
sin
xy
xy
xy
fiecare curbă cu o culoare diferită.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
30
Figura 3. 28. Reprezentări multiple
Observația 3. 7.
(i) Pentru a specifica o serie de proprietăți pentru obiectele de tip line se utilizează una
din sintaxele următoare. Din momentul creării acestea se aplică tuturor liniilor
realizate.
1) plot(…, ‘nume_proprietate1', valoare_proprietate1,
‘nume_proprietate2', valoare_proprietate2… )
2) plot(x,y,'culoare_tiplinie_marcator')
3) plot(x1, y1,'culoare1_tiplinie1_marcator1',x2, y2,
culoare2_tiplinie2_marcator2', …)
(ii) Funcția plot returnează un vector coloană al identificatorilor de control al
caracteristicilor obiectelor linie. Obiectele linie create cu plot sunt copii ai axelor
curente.
(iii)Perechile (x,y) pot fi urmate de perechile parametru/valoare, pentru a specifica
proprietățile suplimentare ale liniilor.
plot(x,f(x)): reprezintă grafic funcţia ;xf
Exemplul 3. 27. Reprezentați grafic în Matlab 7.9 repartiția Bernoulli de parametru
.1,0p
Fie X o variabilă aleatoare binară astfel încât: 1,0,1 ppXP şi
pqXP 10 , adică: 1X dacă într-o experienţă întâmplătoare, un eveniment aleator
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
31
observabil A se produce cu probabilitatea p (avem de-a face cu un succes) şi 0X dacă se
produce evenimentul contrar A cu probabilitatea pq 1 (se realizează un eşec).
Aşadar, X are repartiţia Bernoulli:
.10
:
pqX
Funcţia de repartiţie a unei variabile aleatoare X care are distribuție Bernoulli este:
.1,1
1,0,
0,0
x
xq
x
xXPxF
(3.2)
Pentru a defini în Matlab 7.9 funcția de repartiție xF vom utiliza funcția treaptă:
heaveside(x): returnează: 0 dacă x<0, 1 dacă x > 0 și 0.5 dacă x= 0.
Figura 3. 29. Repartiția Bernoulli de parametru p=0.9
plot(x,f(x),linie,marker,culoare): reprezintă grafic funcţia ;xf utilizând un
anumit stil de linie, un anumit simbol de
marker şi o anumită culoare;
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
32
plot(x,f(x),x,g(x)): reprezintă grafic simultan două funcţii xf şi
xg în acelaşi sistem de coordonate;
Exemplul 3. 28. Reprezentaţi grafic în acelaşi sistem de coordonate funcţiile:
2
2
3
1
1
1
cos
xxg
x
xxf
, .2,2 x
Figura 3. 30. Graficul a 2 funcții cu plot
comet(x,y): repezentarea dinamică (animată) a vectorului y în funcţie
de vectorul ;x
comet(x,y,p): realizează o cometă a lui xy , de lungime p*length(y);
implicit, valoarea lui p este egală cu 0.1.
Exemplul 3. 29. Urmăriţi modul de lucru al funcţiei comet, cu secvenţa Matlab 7.9:
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
33
Figura 3. 31. Stil cometă
Exemplul 3. 30. Să se realizeze interpolarea setului de date din
Tabelul 3. 77, folosind facilităţile oferite de Matlab 7.9 şi să se reprezinte grafic
funcţia de interpolare obţinută:
Tabelul 3. 7. Datele rezultate prin măsurarea energiei termice solare, având următorea
semnificaţie:
x semnifică insolaţia (cantitatea de energie solară existentă în atmosferă şi care se
află pe suprafaţa Pământului) şi este măsurată în waţi pe metru pătrat;
y constituie fluxul total de căldură şi se măsoară în kwaţi.
x y
568.55 181.5
638.1 196
653.1 227.5
666.8 224.7
684.45 238.8
694.85 227.2
697.15 263.8
704.05 253.6
704.7 254.5
709.6 263
711.85 240.4
726.9 265.8
748.45 264
753.35 267.4
756 229.1
757.9 272.3
769.35 239.3
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
34
774.55 278.7
774.95 259.6
783.35 271.8
793.5 258
801.65 257.6
808.55 267
819.65 267.3
827.8 230.7
860.45 251.6
875.15 257.9
905.55 266.5
909.45 263.9
Figura 3. 32. Interpolarea liniară a setului de date din
Tabelul 3. 77
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
35
Figura 3. 33. Interpolarea liniară a setului de date din
Tabelul 3. 77
Reprezentarea grafică cu parametrii impuși se realizează cu funcția fplot. Funcția
fplot realizează o reprezentare grafică cu anumite restricții și se apelează cu una dintre
sintaxele:
fplot(‘fun’,limite): trasează graficul funcției „fun‟, între limitele precizate;
Observația 3. 8. Eticheta:
- fun desemnează numele fișierului funcție (șir de caractere), care poate fi dată sub
forma unei funcții linie obiect, cu @ sau expresie;
- limite = [xmin xmax] – limitele axei x pentru care se dorește reprezentarea grafică.
Exemplul 3. 31. Reprezentați grafic funcția sin(x), cu fplot,
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
36
Figura 3. 34. Reprezentare cu fplot
Exemplul 3. 32. Reprezentaţi grafic în plan funcţia:
2
2
1
1arcos
x
xxf
, 10,10x .
Figura 3. 35. Reprezentare grafică cu fplot
Exemplul 3. 33. Reprezentați grafic funcția:
.2,min 2 xxxf
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
37
Figura 3. 36. Reprezentare grafică cu fplot
fplot(„fun‟, limite, n):
trasează graficul funcției „fun‟, între limitele precizate,
funcția fiind reprezentată folosind un număr n de
eșantioane (implicit n=25);
Exemplul 3. 34. Fie fişierul funcţie:
function y=test(x);
y=sin(x)./x;
end
înregistrat cu numele test.m.
Să se reprezinte grafic funcţia din fişierul test.m, între limitele [-20, 20] cu n=50
eşantioane.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
38
Figura 3. 37. Reprezentare cu fplot
fplot(‘fun’, limite, n,tol): desenează graficul funcției „fun‟, între limitele
precizate, folosind un număr n de eșantioane, cu
eroarea tolerată la reprezentare tol, care, dacă lipsește,
are valoarea implicită , respectiv de 0.2
procente;
Exemplul 3. 35. Trasați graficul funcției
utilizând fplot, eroarea tolerată la
reprezentarea grafică fiind egală cu .
Figura 3. 38. Reprezentare cu fplot
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
39
[x,y]=fplot(„fun‟, limite, …): returnează vectorii coloană x și y ce conțin valorile
abscisei și ale ordonatei funcției;
Dacă funcția fplot se apelează cu argumente de ieșire, nu se reprezintă nici un grafic,
dar acesta se poate trasa ulterior apelând funcția plot(x,y).
fplot(f,g,[a,b]): trasează în același sistem de coordonate, graficele
funcților f și g, pe intervalul [a,b];
hold on: adăugă o curbă la graficul existent, adică permite
desenarea mai multor grafice în aceeași figură;
Observația 3. 9. Sintaxa hold on:
- nu înlocuiește graficul existent la apelul unei noi comenzi plot ci adaugă noile
curbe la graficul curent, rescalând axele dacă este necesar;
- menţine figura curentă şi proprietăţile axelor, astfel încât următoarele instrucţiuni
plot reprezintă curbe pe aceeaşi figură.
Exemplul 3. 36. Trasaţi curbele
,,0,
4cos
2sin
t
ttb
tta
cu două instrucţiuni plot pe aceeaşi figură.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
40
Figura 3. 39. Două curbe pe acelaşi grafic
Reprezentarea grafică a două funcții f și g, pe intervalul [a,b], în același sistem de
coordonate, poate fi realizată şi folosind succesiunea de instrucțiuni:
fplot(f,[a,b])
hold on
fplot(g,[a,b]).
Dezactivarea instrucțiunii hold on se realizează cu ajutorul comenzii hold off, care
reface modul implicit al funcției plot, şterge graficele precedente şi reface proprietăţile iniţiale
ale axelor înainte de a desena noi grafice.
Exemplul 3. 37. Reprezentați în același grafic, funcțiile [ ],
cât și
Figura 3. 40. Reprezentarea a trei curbe, cu fplot
Comanda funtool din Matlab 7.9 afișează o interfață grafică interactivă, asemănătoare
unui calculator destinat operațiilor cu funcții de o singură variabilă, ce conține trei ferestre.
Figura 3.2 ilustrează cea de-a treia fereastră, care prin intermediul controalelor sale text
permite:
- introducerea funcțiilor f și g;
- specificarea intervalului de valori corespunzătoare variabilei x;
- setarea valorii parametrului a;
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
41
Figura 3. 41. Interfața grafică furnizată de comanda funtool
Interfața vizuală prezintă și o tastatură, cu ajutorul căreia pot fi realizate următoarele
operații cu funcții:
Buton de commandă Semnificaţie
xf dd : calculează xf ;
int f calculează xxf d ;
simple f simplifică simbolic expresia funcției f;
num f extrage numărătorul fracției, ce constituie expresia funcției f;
den f extrage numitorul fracției, ce constituie expresia funcției f;
f1
înlocuiește funcția f cu ;1 f
inv f înlocuiește funcția f cu 1f , adică cu inversa sa;
af
înlocuiește funcția xf cu ;axf
af
înlocuiește funcția xf cu ;axf
af
înlocuiește funcția xf cu ;axf
af
înlocuiește funcția xf cu axf
af ^
înlocuiește funcția xf cu ;^ axf
axf
înlocuiește funcția xf cu axf ;
axf *
înlocuiește funcția xf cu axf * ;
gf
înlocuiește funcția xf cu ;xgxf
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
42
gf
înlocuiește funcția xf cu ;xgxf
gf *
înlocuiește funcția xf cu ;* xgxf
gf
înlocuiește funcția xf cu ;xgxf
gf
înlocuiește funcția xf cu xgf ;
fg
înlocuiește funcția xg cu xf ;
swap interschimbă funcțiile xf și ;xg
Insert inserează funcția curentă f împreună cu domeniul său de
definiție într-o listă de funcții;
Cycle rotește afișarea funcțiilor f din lista de funcții;
Delete șterge funcția curentă f împreună cu domeniul său de definiție
într-o listă de funcții;
Reset resetează f,g,x, a și lista de funcții, la valorile inițiale;
Help deschide Help-ul interfeței grafice;
Demo prezintă exemple demonstrative de utilizare a operațiilor din
Fereasta 3 a interfeței grafice;
Close închide cele trei ferestre ale interfeței grafice;
Observația 3. 10. Fereastra 1 și respectiv Fereastra 2 generate prin lansarea comenzii
funtool afișează atât graficele funcțiilor f și respectiv g, cât și graficele funcțiilor rezultate pe
baza operațiilor efectuate asupra funcțiilor f și g.
plotyy(x1,y1,x2,y2): realizează trasarea pe același grafic a lui y1 funcție de
x1 cu axa y1 la stânga și a lui y2 funcție de x2 cu axa
y2 la dreapta;
Exemplul 3. 38. Să se reprezinte grafic:
10,0,
10,0,
22.0
22
1211
xxxy
xxxy
folosind funcţia plotyy.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
43
Figura 3. 42. Reprezentarea cu funcţia plotyy
plotyy(x1,y1,x2,y2,'fun'): utilizează funcția fun pentru plotare,
care poate fi o funcție internă pentru
plotare precum: plot, semilogx,
semilogy, loglog, stem, care accepă
sintaxa H=fun(x,y);
plotyy(x1,y1,x2,y2,'fun1', 'fun2'):
este necesară dacă se dorește utilizarea
pentru axele din stânga și dreapta a
două moduri diferite: pentru perechea
(x1,y1) se utilizează fun1(x1,y1), iar
pentru perechea (x2,y2) se utilizează
fun2(x2,y2);
[ax,h1,h2]=plotyy(x1,y1,x2,y2,'fun1', 'fun2'):
permite returnarea locului unde sunt
create axele în ax(1), pentru axa din
stânga, în ax(2), pentru axa din dreapta
și a obiectelor grafice în h1 și h2;
Exemplul 3. 39. Să se realizeze reprezinterea grafică din Exemplul 3.38 folosind
funcţia
plotyy(x1,y1,x2,y2,'semilogy','stem')
din Matlab 7.9.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
44
Figura 3. 43. Reprezentarea cu funcţia plotyy(x1,y1,x2,y2,'semilogy','stem')
Pentru plotarea facilă a unei expresii introduse direct ca argument se face ușor cu
funcția ezplot.
ezplot(f): trasează graficul funcției f, pe intervalul ;2,2
Exemplul 3. 40. Trasați graficul funcției [ ], cu ezplot.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
45
Figura 3. 44. Graficul funcției [ ], cu ezplot
Exemplul 3. 41. Reprezentați graficul funcției cu ezplot.
Figura 3. 45. Graficul funcției [ ]
ezplot(f,[a,b]): trasează graficul funcției f, pe intervalul
[a,b];
ezplot(f,[xmin, xmax,ymin,ymax]): reprezintă graficul funcției f, pe domeniul
xmin < x < xmax, ymin < y < ymax
Exemplul 3. 42. Reprezentați grafic funcția dată sub forma implicită:
⁄ [ ].
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
46
Figura 3. 46. Reprezentarea grafică a unei funcții dată sub formă implicită
Exemplul 3. 43. Să se reprezinte grafic funcţia dată prin ecuaţia:
.1,1,2,2,22222 yxyxyx
Figura 3. 47. Graficul unei funcții cu ezplot
ezplot(f,g,[a,b]): trasează graficele funcțiilor f și g, pe
intervalul [a,b], în același sistem de
coordonate;
Exemplul 3. 44. Reprezentați grafic curba lui Lissajous:
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
47
.2,0,
2sin
3cos
t
tty
ttx
Figura 3. 48. Curba lui Lissajous
Reprezentarea grafică poate fi utilizată ca metodă de rezolvare a ecuaţiilor
transcendente de forma 0xf , în sensul că soluţiile reale ale ecuaţiei respective pot fi
determinate ca fiind intersecţii ale graficului funcţiei xf , cu dreapta .0y
Exemplul 3. 45. Rezolvaţi ecuaţia transcendentă 0cos2 xx folosind metoda
grafică.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
48
Figura 3. 49. Metoda grafică de rezolvare a unei ecuații transcendente
Abscisele punctelor A şi B, adică -0.44 şi 0.44 evidenţiază soluţiile reale ale ecuaţiei
transendente.
Metoda grafică poate fi aplicată şi pentru rezolvarea sistemelor de ecuaţii neliniare de
forma
0
0
xg
xf,
în sensul că soluţiile reale ale sistemului respectiv pot fi determinate intersectând graficele
funcţiilor xf şi xg .
Exemplul 3. 46. Rezolvaţi sistemul neliniar:
09.075.0
01
3
22
yx
yx
folosind metoda grafică.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
49
Figura 3. 50. Metoda grafică de rezolvare a unei sistem neliniar
Analizând graficul anterior se observă că intersecţia reală a cele două curbe este
reprezentată de punctele P(-0.98, 0.2) şi Q(0.36,0.93). Coordonatele acestor punte, constituie
două soluţii reale ale sistemului neliniar considerat.
Pe lângă soluţiile reale există însă şi soluţii complexe, deoarece substituind
necunoscuta y din a doua ecuaţie în prima ecuaţie a sistemului se obţine o ecuaţie algebrică
(polinomială), de gradul 6, în necunoscuta x, care are şase rădăcini.
Deci, sistemul neliniar are două soluţii reale şi patru complexe (orice polinom cu
coeficienţi reali are un număr par de rădăcini complexe).
Utlizarea metodei grafice de rezolvare a sistemelor neliniare are dezavantajul că poate
determina numai soluţiile reale ale sistemului, fără a oferi nici o informaţie despre rădăcinile
complexe, adică nu este adecvată pentru rezolvarea ecuaţiilor polinomiale.
1.1.1. Reprezentări grafice multiple pe o figură
În unele cazuri avem nevoie să reprezentăm simultan mai multe figuri. Acest lucru se
face cu fucţia subplot.
subplot (m, n, p):
împarte o figură într-o matrice de (m x n) axe şi
selectează axa p pentru reprezentarea grafică ce se va
face cu instrucţiunea plot următoare;
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
50
Observația 3. 11. Graficele sunt numerotate întâi pe primul rând de sus al ferestrei
figură, apoi pe cel de-al doilea rând etc.
Exemplul 3. 47. Reprezentaţi grafic curbele sin(t), cos(t), sin2(t) ca funcţii de t şi
cos(t) în funcţie de sin(t) într-o matrice de patru figuri.
Exemplul 3. 48. Reprezentaţi grafic curbele
2sin t , sin(t), cos(t), sin(t)cos(t)
într-o matrice de patru figuri.
Figura 3. 51. Reprezentare grafică într-o matrice de figuri
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
51
Figura 3. 52. Reprezentare grafică într-o matrice de figuri
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
52
Exemplul 3. 49. Reprezentaţi grafic curbele: sin(x), 2sin x , sin(2x) într-o matrice de
trei figuri.
Figura 3. 53. Reprezentare grafică într-o matrice de trei figuri
3.2. Reprezentarea grafică în coordonate logaritmice și semilogaritmice
Funcțiile destinate acestor reprezentări au modul de utilizare identic cu cel al funcției
plot, diferă doar tipul de scalare al axelor.
loglog(x,y):
scalează ambele axe utilizând logaritmul în baza 10
(reprezintă grafic funcția xfy loglog ;
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
53
semilogx(x,y):
scalează logaritmic doar axa x, axa y fiind scalată
liniar (reprezintă grafic funcția xfy log ;
semilogy(x,y):
scalează logaritmic doar axa y, axa x fiind scalată
liniar (reprezintă grafic funcția xfy log ;
Observația 3. 12. Obiecul grafic de tip line (obținut cu plot, loglog, semilogx,
semilogy) are următoarele caracterictici:
Color – culoarea de trasare;
LineStyle: [- | -- | : | -. | none ] – tipul liniei de trasare;
LineWidth – scalar care semnifică grosimea liniei;
Marker: [ + | o | * | . | x | square | diamond | v | ^ | > | < | pentagram | hexagram |
{none}] – tipul de marcator;
MarkerSize - scalar care semnifică dimensiunea marcatorului;
MarkerEdgeColor: [ none | {auto} ] sau o culoare specificată – stabilește
culoarea de contur a marcatorului;
MarkerFaceColor: [ {none} | auto ] sau o culoare specificată – stabilește
culoarea interioară a marcatorului, dacă acesta este delimitat de un contur închis;
Xdata – vector cu datale reprezentate în abscisă;
YData– vector cu datale reprezentate în ordonată;
UIContextMenu – identificatorul unui meniul contextual asociat;
Visible: [on | off ] – starea de vizibilitate.
Exemplul 3. 50. Să se reprezinte în coordonate semilogaritmice, pe axa y, funcția
xy 10 , ,10,0x
inserând şi etichetele axelor.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
54
Figura 3. 54. Reprezentarea grafică a funcţiei y în coordonate semilogaritmice (axa y)
Observația 3. 13. S-a utilizat xlabel și ylabel pentru marcarea coordonatelor x și
respectiv, log(y).
Exemplul 3. 51. Reprezentaţi grafic cîntr-o matrice de patru figuri, curba x2sin în:
- coordonate carteziene ;
- coordonate logaritmice;
- coordonate selogaritmice, scalând logaritmic doar axa x;
- coordonate selogaritmice, scalând logaritmic doar axa y.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
55
Figura 3. 55. Reprezentare grafică într-o matrice de figuri
Observația 3. 14. Figura, aria de desenare, curba, etichetele axelor, etc., sunt obiecte
grafice cu proprietăţi, create de funcţiile plot, xlabel, ylabel, etc. Toate funcţiile grafice au ca
rezultat un handle al obiectului grafic creat: curbă, eticheta axei, legenda, titlul, etc. Acest
handle poate fi memorat într-o variabilă şi poate fi utilizat pentru a obţine sau prescrie
proprietăţi ale obiectului grafic.
De exemplu, pentru a afişa legenda la figuri unde s-a utilizat instrucţiunea subplot, se
utilizează variabila handle a instrucţiunii plot ca mai jos:
h = plot(t, x)
legend(h, ‘sir’).
3.2. Reprezentarea grafică în coordonate polare
Pe lângă sistemul cartezian există și sistemul de coordonate polare (Fig. 3.56), care
permite specificarea poziției unui punct în plan. Un sistem de coordonate polare se defineşte
printr-un punct O numit pol sau origine şi printr-o semiaxă dusă prin pol numiă axă polară. Poziţia
unui punct din plan M din plan este determinată dacă se cunosc:
a) distanţa OM de la pol la punctul considerat, numită raza vectoare a punctului M (ia
numai valori pozitive),
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
56
b) unghiul 2,0 pe care-l face axa polară cu semidreapta OM , fiind ales în sens
trigomometric, numit faza sau amplitudine.
M
axa
Figura 3. 56. Sistemul de coordonate polare
Este posibilă transformarea unui sistem de coordonate polare într-un sistem de coordonate
carteziene şi invers. Dacă ambele sisteme de coordonate au aceeaşi origine şi axa Ox comună, atunci
un punct M care are coordonatele , în sistemul de coordonate polare va avea coordonatele yx,
în sistemul de coordonate carteziene, între acestea existand relaţiile:
2,0,0,
sin
cos
y
x;
(3. 3)
deci:
.sin
cos
22
22
22
yx
y
yx
x
yx
(3. 4)
Dificultatea în cazul sistemului de coordonate polare, ţinând cont de periodicitatea
funcţiilor trigonometrice constă în faptul că punctele pot avea reprezentări multiple. De aceea,
trebuie tratate cu atenţie aceste tipuri de reprezentări grafice.
Reprezentarea datelor în coordonate polare este similară reprezentării în coordonate
carteziene şi se realizează utilizând funcţiile:
compass(z): reprezintă grafic în coordonate polare unul sau mai multe numere
complexe z (reprezintă modulul şi argumentul numerelor complexe),
sub formă de vectori, cu originea în originea sistemului de coordonate
şi având săgeţile orientate dinspre origine;
Exemplul 3. 52. Să se reprezinte grafic în coordonate polare numerele complexe:
.6,21,34 321 iziziz
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
57
Figura 3. 57. Reprezentare grafică folosind funcţia compass
compass(x,y): are aceeași semnificație cu funcția compass(z), unde z=x+iy;
feather(z): reprezintă grafic într-un reper cartezian fiecare element al
vectorului complex z printr-un segment orientat, a cărui origine se
află pe axa Ox sau pe o dreapă paralelă cu aceasta, în funcţie de
lungimea şi argumentul componentei complexe a lui z; originile
segmentelor sunt egal distanțate;
Exemplul 3. 53. Să se reprezinte grafic numerele complexe din Exemplul 3.52
folosind funcția feather.
Figura 3. 58. Reprezentare grafică folosind funcţia feather
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
58
feather(x,y): are aceeași semnificație cu funcția feather(z), unde
z=x+iy;
polar( , ): reprezintă grafic în coordonate polare curba f ;
Exemplul 3. 54. Să se reprezinte grafic în coordonate polare cardioida:
.2,0,cos1 af
Figura 3. 59. Cardioida în coordonate polare
Exemplul 3. 55. Să se reprezinte grafic în coordonate polare:
.2,0,cossin uuuuR
Figura 3. 60. Reprezentarea în coordonate polare (u,R)
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
59
Exemplul 3. 56. Să se genereze un vector cu repartiţie normală şi să se reprezinte
grafic în coordonate polare, în intervalul .2,0
Figura 3. 61. Reprezentarea în coordonate polare
polar( , , ’linie-tip’): reprezintă grafic în coordonate polare curba , f
folosind tipul de linie specificat; modul de folosire a
opţiunii ’linie-tip’ este identic cu cel al funcţiei plot;
ezpolar(f): reprezintă grafic în coordonate polare curba f în
domeniul 20 (nu apare la versiunile de Matlab
precedente versiunii 7.0);
Exemplul 3. 57. Reprezentați grafic în coordonate polare curba
.2,0,tansin tt
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
60
Figura 3. 62. Reprezentarea grafică cu ezpolar
Exemplul 3. 58. Realizaţi reprezentarea grafică din Exemplul 3. 54. Să se reprezinte
grafic în coordonate polare cardioida:Exemplul 3. 53. Să se reprezinte grafic numerele
complexe din Exemplul 3.52 folosind funcția feather.
Figura 3. 58. Reprezentare grafică folosind funcţia feather
feather(x,y): are aceeași semnificație cu funcția feather(z), unde
z=x+iy;
polar( , ): reprezintă grafic în coordonate polare curba f ;
Exemplul 3. 54. Să se reprezinte grafic în coordonate polare cardioida: cu ajutorul
funcţiei ezpolar.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
61
Figura 3. 63. Cardioida în coordonate polare
ezpolar(f,[a,b]): reprezintă grafic în coordonate polare curba f în
domeniul ba ;
Exemplul 3. 59. Să se reprezinte grafic în coordonate polare curba:
.2
3,
2,
2100
2
30cos7sin2100
8
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
62
Figura 3. 64. Grafic în coordonate polare cu ezpolar
Vom ilustra metoda potrivit căreia se realizează rotaţiile 2D cu formula Euler.
Un număr complex poate fi folosit pentru a preciza poziţia unui obiect plan sau alte
entităţi 2D precum viteza, acceleraţia, deplasarea, etc.
Fiecare punct al cercului unitar este de forma indicată de formula Euler:
.sincos ieiz (3. 5)
Figura 3. 65. Reprezentarea unui punct în plan folosind formula Euler
Expresia polară a funcţiei exponenţiale complexă este ie convenabilă pentru a
reprezenta rotirea obiectelor din următoarele două motive:
Im
cos𝑥
sin 𝑥
𝑒𝑖𝑥 cos 𝑥 𝑖 sin 𝑥
1
1
𝑖
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
63
1) identifică un punct în planul complex folosind un singur termen, în loc de
doi termeni ;iyx
2) simplifică calculele atunci când este utilizată în înmulţiri de forma:
.. iyxiyx eee
Din Fig. 3.66 se observă că înmulţirea a două numere complexe implică o rotaţie 2D,
adică înmulţind cu se realizează rotaţia lui cu unghiul .
Figura 3. 66. Rotaţie 2D folosind înmulţirea numerelor complexe
Când numărul complex iyxz . este înmulţit cu , lungimea lui
rămâne aceeaşi (| | | | ) , dar argumentul lui rezultă adăugând la argumentul lui
Exemplul 3. 60.
a) Să se reprezinta grafic nefroida (o curbă plană care aproximativ forma rinichiului),
având ecuaţiile parametrice:
;3sinsin3
3coscos3
ttaty
ttatx
Im
1
𝑖
𝑒𝑖𝜃
𝑒𝑖 𝜃∗𝜑 𝑒𝑖𝜃 𝑒𝑖𝜑
𝜃
𝜑
Re
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
64
Figura 3. 67. Nefroida
b) să se genereze nefoida care rezultă prin rotaţia nefroidei iniţiale cu unghiul 9 şi
translaţia acesteia cu vectorul .20 i
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
65
Figura 3. 68. Nefroidă rotită și translatată
3.3. Reprezentări grafice speciale
În Matlab 7.9 se mai pot realiza şi o serie de reprezentări grafice speciale. Tipul de
grafic selectat depinde în mod esenţial de natura datelor prelucrate.
Graficele de tip bare sau arie (bar, area) sunt utile pentru vizualizarea unor rezultate,
compararea lor şi afişarea unei contribuţii individuale din total.
Graficele de tip statistic (pie, charts) indică contribuţiile individuale dintr-un total.
Histogramele (histogram) sunt utile pentru a indica distribuţia valorilor datelor.
Graficele de tip stem şi stairstep sunt utile pentru date discrete.
Graficele compass, feather, quiver sunt utile pentru plotarea vectorilor de tip direcţie
şi viteză.
Graficele de tip contur (contour) sunt utile la reprezentarea unor regiuni de valori
egale ale datelor.
Plotările interactive (interactive) permit selectarea unor puncte de plotare în mod
interactiv.
Graficele de tip animaţie (animations) adaugă date la grafice consecutive şi creează o
animaţie.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
66
fill(x,y,c): reprezintă un poligon definit de vectorii x și y, cu
nuanțele de culoare c. Coordonatele vârfurilor
poligonului sunt specificate prin perechile (x,y).;
Dacă argumentul c este un singur caracter dintre cele prezentate în lista de culori sau
un vector cu trei componente [r g b], poligonul va fi colorat într-o singură culoare.
În cazul în care c este un vector cu aceeași dimensiune ca x și y, elementele acestuia
sunt scalate cu funcția caxis și apoi utilizate ca indici într-o matrice care specifică culorile
vârfurilor. Culorile dintre vârfuri sunt obținute prin interpolare biliniară a culorilor vârfurilor.
Dacă x și y sunt matrice cu aceeași dimensiune, fill(x,y,c) reprezintă câte un poligon
pentru fiecare coloană. În acest caz, c este un vector linie pentru poligoane cu o singură
culoare și, respectiv, o matrice pentru poligoane cu culori interpolate.
Dacă numai unul dintre argumentele x sau y este matrice, celălalt fiind vector coloană
cu același număr de linii, vectorul coloană se va extinde la o matrice cu aceleași dimensiuni,
prin adăugarea unor coloane identice.
fill(x1,y1,c1,x2,y2,c2,…): se utilizează pentru specificarea poligoanelor multiple;
Funcția fill returnează un vector coloană, ce are drept componente identificatorii de
control al caracteristicilor modulelor obiect, considerând câte o linie pentru fiecare modul.
Argumentele x, y, c pot fi urmate de perechi parametru-valoare, cu scopul de a
menționa proprietățile suplimentare ale modulului obiect respectiv.
Exemplul 3. 61. Să se reprezinte grafic mulțimea perechilor de puncte 11, yx și
respectiv 22 , yx conținute în vectorii:
,12301,01320 11 yx
00230,24532 22 yx
folosind funcția plot și respectiv fill, pentru a evidenţia diferența dintre cele două funcții.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
67
Figura 3. 69. Reprezentarea poligoanelor cu funcția plot
Figura 3. 70. Reprezentarea poligoanelor cu funcția fill
Din Fig. 3.70 reiese că funcția fill umple poligoanele cu culoarea specificată, fapt care
nu se întâmplă în cazul utilizării funcției plot.
Exemplul 3. 62. Să se reprezinte grafic, în aceeași figură, poligoanele definite de
mulțimea perechilor de puncte următoare:
,861,421 11 yx
.986,842 22 yx
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
68
Figura 3. 71. Trasare poligoane pline colorate
area(x,y): crează un grafic cu suprafețe diferit colorate pentru a
marca contribuția diferitor componente la întreg; este
asemănătoare cu plot(x,y), cu deosebirea că aria de sub
curbă este colorată, între 0 și y;
Exemplul 3. 63. Să se reprezinte cu suprafețe diferit colorate al datelor conţinute în
matricea
( 1 1 1
)
la locaţiile indicate de punctul x=0.5.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
69
Figura 3. 72. Grafic cu suprafețe diferit colorate
area(y): are același rol precum funcția area(x,y), considerând
implicit că x=1:size(y,1);
area(x,y,level): completează funcția area(x,y), specificând nivelul de
la care se colorează aria, prin intermediul argumentului
level, care poate fi 0 (valoare implicită) sau o valoare
precizată, caz în care colorarea se face între level și
valoarea curentă a lui y;
Exemplul 3. 64. Reprezentați grafic funcția 10,1,2 xxxy utilizând funcția
predefinită area, din Matlab 7.9.
Figura 3. 73. Reprezentarea grafică folosind funcţia area cu level
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
70
bar(y): reprezintă graficul cu bare al datelor conţinute în
vectorul y;
Exemplul 3. 65. Să se reprezinte graficul cu bare al datelor conţinute în vectorul
y=[1 3 7 6 5 2 3].
Figura 3. 74. Grafic pentru bar(y), cu y vector
Exemplul 3. 66. Creaţi un grafic de bare utilizând barele roşii, corespunzător
vectorului y = (75 91 105 123.5 131 150 179 203 226 249 281.5);
Figura 3. 75. Reprezentarea bar cu o singură culoare
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
71
Exemplul 3. 67. Să se reprezinte graficul cu bare al datelor conţinute în matricea
(
1 )
.
Figura 3. 76. Grafic pentru bar(Y), cu Y matrice
bar(x,y): reprezintă grafic cu bare verticale bare, elementele
vectorului y, la locaţiile indicate de vectorul x, adică
y(x); valorile lui x trebuie să fie egal depărtate şi
ordonate crescător;
Exemplul 3. 68. Să se reprezinte graficul cu bare al datelor conținute în vectorii:
[1 ]
y=(66 56 50 3 89 5 78 65 4 25 99).
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
72
Figura 3. 77. Reprezentare cu ajutorul funcției bar asupra vectorilor x,y
Exemplul 3. 69. Să se reprezinte graficul cu bare al datelor conținute în matricele
definite în Exemplul 3. 63. Să se reprezinte cu suprafețe diferit colorate al datelor conţinute în matricea
Figura 3. 78. Graficul cu bare al datelor conținute în matricele x și y
Exemplul 3. 70. Să se reprezinte grafic în aceeași figură, funcția [ ]
folosind funcția bar(x,y) și respectiv bar(y).
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
73
Figura 3. 79. Reprezentare cu ajutorul funcției bar
bar(x,y, „grouped’): reprezintă barele grupate pe seturi de date și cu
aceeași culoare;
bar(x,y, „stacked’):
reprezintă barele secționate cu culori diferite pentru
seturile de date; de menționat că valorile lui x trebuie
să fie egal depărtate și crescatoare;
Exemplul 3. 71. Să se reprezinte graficul:
a) cu bare grupate pe seturi de date;
b) cu bare secționate cu culori diferite;
al datelor conţinute în matricea:
.
12112
982
652
322
y
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
74
a)
Figura 3. 80. Reprezentarea bar grupat
b)
Figura 3. 81. Reprezentarea bar secţionat
Observația 3. 15. Pentru fiecare rând de matrice se afişează o bară. Înălţimea fiecărei
bare este suma elementelor în rând.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
75
bar(x,y,gros): reprezintă graficul funcției y(x), cu bare verticale, cu
grosimea barei date de gros:
- care poate lipsi și atunci, valoarea implicită
este gros=0.8;
- dacă gros<0.8 barele au grosimea de 0.2,
- iar dacă gros>1 atunci barele se unesc;
Exemplul 3. 72. Creaţi o figură cu două subgrafice. În partea superioară, se trasează
un grafic de bare. În subgraficul inferior, se realizează graficul de bare suprapus.
Figura 3. 82. Reprezentarea bar
Reprezentarea barelor orizontale se realizează cu funcția barh, care este asemănătoare
funcției bar.
Exemplul 3. 73. Să se reprezinte graficul cu bare orizontale al datelor conținute în
vectorii considerați în Exemplul 3.68.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
76
Figura 3. 83. Reprezentare utilizând funcția barh
Exemplul 3. 74. Să se ilustreze printr-un exemplu utilizarea funcției bar, cu bare
verticale și respectiv orizontale, având atributele: grupat, secţionat și gros.
Figura 3. 84. Reprezentarea bar (bare verticale) grupat, secţionat şi gros
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
77
Figura 3. 85. Reprezentarea bar (bare orizontale) grupat, secţionat şi gros
pareto(y): reprezintă graficul cu bare al datelor conţinute în
vectorul y, punând în ordine descrescatoare
componentele lui y;
Exemplul 3. 75. Să se reprezinte printr-o diagramă pareto datele conţinute în vectorul
Figura 3. 86. Reprezentarea grafică cu funcţia pareto
Diagrama pareto precedentă poate fi obținută și cu ajutorul secvenței:
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
78
Observația 3. 16. Înălțimea barelor corespunde valorilor lui y, ordonata din stânga
graficului are înălțimea cât ysum , iar cea din dreapta dă valoarea procentuală yy sum ,
după cum se observă din Figura 3.86. Curba continuă trasează diferența, valoarea sumei și
valoarea fiecărei valori a lui y.
pie(x,etichetă):
realizează o diagramă circulară (așa numita diagramă
“plăcintă”) cu valorile unui vector x, având specificată
semnificația în etichetă;
Trebuie menţionat că valorile lui x sunt normalizate, iar dacă 1sum x , atunci sunt
trecute valorile efective și apare un segment de cerc.
Exemplul 3. 76. Realizați o diagram circulară pe baza valorilor vectorului
5432x , caracterizat de etichetele: Pitești, Vâlcea, Olt, Dolj.
Figura 3. 87. Reprezentarea grafică cu funcția pie
Graficele în trepte sunt utilizate la reprezentarea diagramelor sistemelor numerice de
eşantionare şi prelucrare a datelor.
stairs(y): trasează graficul în trepte al elementelor vectorului y;
Exemplul 3. 77. Trasați graficul în trepte al componentelor vectorului ,6,0x
.3.0h
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
79
Figura 3. 88. Graficul în trepte al elementelor vectorului x
stairs(x,y): trasează graficul în trepte al elementelor vectorului y la
locaţiile specificate de vectorul x; valorile lui x trebuie
să fie egal depărtate şi crescătoare;
Exemplul 3. 78. Să se traseze graficul în trepte al funcției xy sin în fiecare dintre
cazurile:
a) ,6,0x ;3.0h
Figura 3. 89. Reprezentarea grafică cu funcția stairs
b) ,3,0 x .10h
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
80
Figura 3. 90. Reprezentarea grafică cu funcția stairs
[xb,yb]=stairs(y): determină vectorii xb şi yb, astfel încât plot(xb,yb) să
poată trasa graficul în trepte al elementelor vectorului y;
[xb,yb]=stairs(x,y): determină vectorii xb şi yb, astfel încât plot(xb,yb) să
poată trasa graficul în trepte al funcției y(x);
Exemplul 3. 79. Determinați vectorii xb şi yb, astfel încât plot(xb,yb) să poată trasa
graficul în trepte al funcției ,sin xy
,6,0x ;3.0h
Figura 3. 91. Reprezentarea grafică cu funcția stairs
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
81
Reprezentarea grafică a datelor cu bare de eroare ataşează fiecărei perechi (x,y)
eroarea precizată într-un vector cu aceleaşi dimensiuni.
errorbar(x,y,e):
reprezintă grafic cu bare de eroare, funcția y(x), astfel
încât lungimea barelor ce reprezintă eroarea este
conţinută în vectorul e;
Barele de erori se reprezintă simetric în raport cu ordonata y, ceea ce presupune o
asociere de erori pozitive sau negative, cu aceeaşi probabilitate. Segmentele de eroare sunt de
înălţime 2e şi se trasează pe curba y(x). Figura obţinută reprezintă plaja de valori pe care o
poate lua funcţia y cu eroarea e.
Dacă x şi y sunt matrice de aceeaşi dimensiune, funcţia errorbar va reprezenta
graficul cu bare de eroare pentru fiecare coloană în parte.
Exemplul 3. 80. Să se reprezinte un grafic cu bare de erori pentru ,sin xy ,6,0x
.2.0h
Figura 3. 92. Reprezentarea grafică cu errorbar
Calculul şi reprezentarea grafică a histogramelor se face cu funcţia hist.
hist(y):
trasează histograma cu 10 segmente a datelor
vectorului y;
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
82
Exemplul 3. 81. Să se reprezinte un grafic cu histograme următoarea secvenţă
,3,3x .3.0h
Figura 3. 93. Reprezentarea grafică cu hist
hist(y,nb):
trasează histograma cu nb segmente a
componentelor vectorului y;
hist(u,v): realizează reprezentarea unei histograme, pe baza
intervalelor de valori (valorile fiind conţinute în
vectorul u) şi a frecvenţelor absolute
corespunzătoare acestor valori (componente ale
vectorului v);
Exemplul 3. 82. Să se genereze histograma unui vector cu elementele distribuite
normal (Gaussian).
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
83
Figura 3. 94. Reprezentarea grafică cu hist
[n,x]=hist(y):
returnează vectorii n şi x conţinând frecvenţa de
apariţie şi localizarea celor 10 segmente aparținând
histogramei corespunzătoare datelor vectorului y ;
[n,x]=hist(y,nb):
determină vectorii n şi x, ce conţin frecvenţa de
apariţie şi localizarea segmentelor aparținând
histogramei trasată folosind hist(y,nb);
[n,x]=hist(u,v): returnează vectorii n şi x, ce includ frecvenţa de
apariţie şi localizarea segmentelor corespunzătoare
histogramei trasată cu hist(u,v);
Vectorii n şi x pot fi folosiți ulterior în vederea construirii histogramei cu bar(x,n).
Aceste proceduri se utilizează în situaţiile în care este necesară o mai mare flexibilitate în
reprezentarile grafice. Combinarea histogramei cu instrucţiuni mai elaborate de trasare şi
reprezentare grafică poate conduce la obţinerea unor grafice deosebit de sugestive
În MATLAB există două tipuri de fișiere:
A) fișiere de date;
B) fișiere de program (scripturi sau funcții).
Fișierele de date ce pot fi definite și utilizate în programe MATLAB sunt denumite
fișiere MAT. Acestea sunt fișiere binare (cu extensie .mat), care sunt utilizate pentru a stoca și
de a restabili variabilele utilizate în spațiul de lucru.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
84
Exemplul 3. 83. Reprezentaţi grafic în Matlab 7.9 printr-o histogramă, notele
obţinuite de cei 50 de studenţi înscrişi la cursul de Statistică. Notele se vor citi dintr-un fişier
binar.
Figura 3. 95. Histograma notelor obţinuite de cei 50 de studenţi înscrişi la cursul de Statistică
Reprezentarea unei histograme în coordonate polare se face cu funcţia rose; se
apelează cu una dintre sintaxele:
rose(x):
desenează histograma în coordonate polare,
corespunzătoare unghiurilor ;2,0 x
rose(x,N):
desenează histograma în coordonate polare,
corespunzătoare la N unghiuri ,2,0 x ce
semnifică numărul subintervalelor în care este
împărțit intervalul ;2,0 valoarea implicită pentru
N este 20.
Exemplul 3. 84. Să se reprezinte grafic histograma a 100 numere aleatoare în
coordonate polare.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
85
Figura 3. 96. Histograma a 100 numere aleatoare în coordonate polare
[t,r]=rose(x):
returnează vectorii t și r astfel încât, cu ajutorul
funcției polar(t,r) să putem reprezenta histograma în
coordonate polare, corespunzătoare unghiurilor
;2,0 x
[t,r]=rose(x,N):
returnează vectorii t și r astfel încât funcția
polar(t,r) trasează histograma în coordonate polare,
corespunzătoare la N unghiuri ;2,0 x
Reprezentarea discretă a datelor se face cu funcţia stem, sub forma unor linii
terminate cu cerculeţ la extremitatea opusă axei.
stem(y): trasează un grafic din linii cu cerculeţ, cu elementele
vectorului y;
Exemplul 3. 85. Să se reprezinte grafic funcţia discretă sinus:
.3.0,20,0,5
sin hnnny
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
86
Figura 3. 97. Reprezentarea discretă a datelor
stem(x,y): trasează un grafic din linii terminate cu cerculeţ, cu
locaţiile specificate de vectorul x, adică y=y(x).
Valorile lui x trebuie să fie egal depărtate şi
crescătoare;
Exemplul 3. 86. Să se realizeze reprezentarea grafică discretă prin “tulpini” a funcției
.10
,3,0,sin
hxxy
Figura 3. 98. Reprezentarea discretă prin “tulpini”
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
87
stem(x,y, ‟linie_tip‟): trasează un grafic din linii de tipul şi culoarea
precizată în şirul de caractere ‘linie_tip’, așa cum a
fost precizat la funcţia plot;
Plotarea unei matrice dispersate se face cu funcția plotmatrix, având una dintre
sintaxele:
plotmatrix(x,y): prezintă dispersia coloanei x funcție de coloana y;
Dacă x este o matrice mp , iar y o matrice np , atunci funcția plotmatrix produce o
matrice .mn
plotmatrix(y): este asemănătoare cu comanda plotmatrix(x,y), cu
excepţia faptului că diagonala este înlocuită prin
hist(y(:,i)).
Exemplul 3. 87. Să se ilustreze printr-un exemplu utilizarea funcției plotmatrix.
Figura 3. 99. Reprezentarea grafică cu funcţia plotmatrix
scatter(x,y,s,c): realizează plotarea dispersiei vectorului x, funcție de
vectorul y (x și y având aceeași dimensiune), cu
markere (cerculețe implicit) de arie determinată de
valorile vectorului s (în puncte^2) și fiecare punct
colorat, conform valorilor vectorului c;
Dacă s este scalar, atunci fiecare marker va avea aceeși dimensiune.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
88
3.3. Aplicaţii propuse
1. Reprezentaţi grafic în plan următoarele funcţii:
a) 232 xxxf , 5,5x
b)
2
1
5ln
5
x
xxf , 5,3x
c) 21
2arcsin
x
xxf
, 5,5x
d) xxf x sine sin , 2,0x
e) xxxf sintgtgsin , ,x
f) 1e1
xxxf , 10,10x
g)
xxg
xxf
arccos
arcsin, 1,1x
h)
0,0
0,1
cos
x
xx
xxf , 5.0,5.0x , 01.0h
i)
xgxfxh
xxfxg
x
xxxf
23cos
4
1
32
32
2
22
, 5,5x
2. Să se reprezinte, în acelaşi grafic, funcţiile sin şi cos pe intervalul 4,0 .
3. Reprezentaţi grafic funcţia f(x) = sin(x) în grade, de la 0 la 360.
4. Să se reprezinte grafic triunghiul ale cărui varfuri au coordonatele (1, -3), (2,7) şi (9, -4).
5. Să se reprezinte grafic funcţia y(t)=6e-2t
pentru intervalul de timp t=(0-4) secunde, avand
pasul de eşantionare de 0.05.
6. Să se reprezinte pe acelaşi grafic tensiunea (u(t)) şi curentul (i(t)) unui circuit RL, pentru
intervalul de timp t=(0-20) ms ştiind că u(t)=10cos(377t) şi i(t)=5cos(377t+600).
7. Să se traseze graficul funcţiei f(x) = sin x : [-2 , 2] şi g(x) = ex : [-2, 2] .
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
89
8. Reprezentaţi grafic în coordonate polare rădăcinile de ordinul trei (cubice) ale unităţii.
9. Reprezentați grafic funcția: .sin,cosmax xxxf
10. Rezolvaţi ecuaţia transcendentă:
5.02cos24sin 5.03 tete tt
folosind metoda grafică.
11. Rezolvaţi sistemul neliniar:
0cos
0sin
222
2222
yx
xxy
eyyxx
xyeex
folosind metoda grafică.
12. Să se reprezinte grafic vectorii z1=2-5i şi z2=3+2i.
13. Utilizând funcţia bar să se realizeze graficul lui ex pentru -2.9< x<2.9
14. Să se reprezinte graficul în trepte al funcţiei y=sin(x) xє(0,10) cu pasul 0.25.
15. Să se reprezinte graficul erorilor pentru valori generate aleator între -2 şi 2
16. Reprezentarea în coordonate polare ale functiei f(x)=sin(2t)cos(2t), cu t=0:2*pi.
17. Să se reprezinte grafic o reprezentare procentuală a distribuţiei notelor obţinute de o grupă
de 20 studenţi la examenele susţinute în anul II la disciplina “Prelucrare grafică asistată de
calculator” şi distribuţia acestora. Se consideră următoarele note: 2, 4, 7, 2, 8, 3, 10, 3, 8,
2, 3, 1, 6, 7, 6, 5, 7, 7, 7, 7.
18. Să se reprezinte grafic cu funcţia stem un semnal discret obţinut prin eşantionarea unui
semnal sinusoidal de frecvenţă 300 Hz, de durată 10 milisecunde şi amplitudine 1.
Frecvenţa de eşantionare Fs = 4kHz.
19. Să se reprezinte grafic cu funcţia plot un semnal sinusoidal de frecvenţă 50 Hz, de durată
0.2 secunde şi amplitudine 2. Se va alege rezoluţia temporală 1ms.
20. Modificaţi exerciţiul 19 astfel:
a) Modificaţi pasul de variaţie a variabilei t la 0.01 şi apoi la 0.0002. Comentaţi
diferenţele.
b) Măsuraţi pe grafic perioada semnalului sinusoidal în cele 3 situaţii.
c) Generaţi un semnal cosinusoidal de frecvenţă 20 Hz pe care să-l reprezentaţi cu
culoare roşie pe acelaşi grafic peste semnalul sinusoidal
21. Să se reprezinte grafic funcţia discretă sinus: .4,0,sin 2 xxexy x
22. Să se reprezinte pe acelaşi grafic, tipărind axa y pe ambele părţi, două funcţii matematice
(exp şi sin) utilizând comanda plot.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
90
23. Să se realizeze secvența de program din care rezultă figura următoare.
24. Reprezentaţi grafic în coordonate polare următoarele funcţii:
a) trifoiul cu patru foi:
2,0,2sin ttatf ;
b) Scarabaeus:
2,0,cos2cos ttatbtf .
3.2. Bibliografie
1. Ahn, S. H, 2009. Math. http://www.songho.ca/math/index.html.
2. G. Anastassiou, I. Iatan, Intelligent Routines: Solving Mathematical Analysis with
Matlab, Mathcad, Mathematica and Maple, Springer, 2013.
3. A. K. Awasthi, S.Chaudhary, Engineering Mathematics, Darbose, Inc., India.
4. D. Baez- Lopez, Matlab with Application to Engineering, Physics and Finance, Taylor &
Francis Group, 2010.
5. N.H. Bingham, J. M. Fry, Regression. Linear Models in Statistics, Springer, New York,
2010.
6. D.M. Etter, D.C. Kuncicky, Introduction to MATLAB®, E-Source, Prentice Hall, Upper
Saddle River, New Jersey, 1999.
7. M. Ghinea, V. Fireţeanu, Matlab: Calcul numeric- Grafică-Aplicaţii, ed. Teora, Bucureşti,
1998.
REZOLVAREA UNOR PROBLEME DE MATEMATICĂ APLICATĂ ÎN INGINERIE CU MATLAB
91
8. B.D. Hahn, Essential MATLAB® for Scientists and Engineers, Arnold, London, 1997.
9. T.L. Harman, J. Dabney, N. Richert, Advanced Engineering Mathematics with MATLAB®
- Second Edition, Brooks/Cole – Thomson Learning, Australia, 2000.
10. I. Iatan, Îndrumător de laborator în Matlab 7.0, Ed. Conspress, Bucureşti, 2009.
11. I. Iatan, F. Enescu, Rezolvarea unor probleme de matematică aplicată în inginerie cu
Matlab, în curs de publicare.
12. N. Martaj, M. Mokhtari, Matlab R2009, Simulink et Stateflow pour Ingénieurs,
Chercheurs et Etudiants, Springer, 2010.
13. J.H. Mathews, K.D. Fink, Numerical Methods Using MATLAB – Third Edition, Prentice
Hall, Upper Saddle River, New Jersey, 1999.
14. G.W Middleton, Data Analysis in the Earth Sciences using MATLAB®, Prentice Hall,
Upper Saddle River, New Jersey
15. D.C. Montgomery, E.A. Peck, G. G. Vining, Introduction to Linear Regression Analysis,
third edition, Wiley, 2001.
16. S. Nakamura, Numerical Analysis and Graphic Visualization with MATLAB – Second
Edition, Prentice Hall PTR, Upper Saddle River, New Jersey, 2002.
17. W.J. Palm III, Introduction to MATLAB® for Engineers, B.E.S.T Series, McGraw-Hill,
Boston.
18. R. L. Parker, L. Shure, J. Hildebrand, "The application of inverse theory to seamount
magnetism", Reviews of Geophysics vol. 25, pp 17-40, 1987
19. V. Postelnicu, S. Coatu, Mică enciclopedie matematică, ed. Tehnică, Bucureşti, 1980.
20. A. Quarteroni, F. Saleri, Scientific Computing with Matlab and Octave, Springer, 2006.
21. V. Rovenski, Modeling of Curves and Surfaces with Matlab, Springer, 2010.
22. I. Toma, I. Iatan, Analiză numerică. Curs, aplicaţii, algoritmi în pseudocod şi programe
de calcul, Ed. Matrix Rom, Bucureşti, 2005.
23. R. Trandafir, I. Iatan, Modelare- Simulare. Noţiuni teoretice şi Aplicaţii, Ed. Conspress,
Bucureşti, 2013.
24. C.F. Van Loan, Introduction to Scientific Computing – A Matrix-Vector Approach Using
MATLAB®,” Prentice Hall, Upper Saddle River, New Jersey, 2000.
25. D. Xue, Y. Chen, Solving Applied Mathematical Problems with Matlab, Taylor & Francis
Group, 2009.
26. Web site: Quaternions and Rotations, 2010,
http://web.cs.iastate.edu/~cs577/handouts/quaternion.pdf