Reprezentări grafice … … … … 3 [612128]

2016 Universitatea „Aurel Vlaicu” Arad

REFERAT MATLAB

Student: [anonimizat] – Raul
Specializarea: Informatică
Anul: III

2 Cuprins

Reprezentări grafice ………………………….. ………………………….. ………………………….. …………………… 3
1.1. Grafice 2D ………………………….. ………………………….. ………………………….. ……………….. 3
1.1.1. Reprezentare grafică animată ………………………….. ………………………….. ……………….. 4
1.2. Grafice 3D ………………………….. ………………………….. ………………………….. ……………….. 6
2. Polinoame de interpolare ………………………….. ………………………….. ………………………….. ……. 10
2.1. Adunare și scădere ………………………….. ………………………….. ………………………….. …… 10
2.2. Rădăcinile unui polinom ………………………….. ………………………….. ……………………….. 10
2.3. Interpolare polinomială ………………………….. ………………………….. …………………………. 11
3. Bibliografie ………………………….. ………………………….. ………………………….. ………………………. 13

3
Reprezentări grafice

1.1. Grafice 2D

Pentru reprezentarea graficului unei funcții se specifică:
– x = a:h:b;
– plot(x,f(x));
unde [a;b] reprezintă domeniul de definiție, h pasul de discretizare a acestuia, iar 𝑓 este funcția de
reprezentat.
Exemplu:
Să se reprezinte grafic funcția f definită astfel: f : [0, 50] → [0, 2500] cu pasul diviziunii 0.0001 .
date de intrare: x=0:0.0001:50;plot(x,x.^2) .

Fig. 1 Reprezentare grafică 2D

4 1.1.1. Reprezentare grafică animată

Codul pentru animație:

%// Valori pentru x și y
x = 1:1000;
y = x.^2;

%// Planul începe de aici:

figure,hold on

%// Setarea limitelor pentru plan: x și y

xlim([min(x(:)) max(x(:))])
ylim([min(y(:)) max(y(:))])

%// Plot pas cu pas
for k = 1:numel(x)
plot(x(k),y(k),' -')

%// MATLAB pune pauză 0.001 secunde înainte să se execute următoarea instruțiune
pause(0.001);
end

Fig. 2 Animație

5
Pentru reprezentarea pe același grafic a mai multor funcții se specifică:
x = a:h:b; plot(x,f(x),x,g(x),x,h(x))
Se poate specifica:
– culoarea (r – roșu, b – albastru, g – verde, y – yellow etc.);
– tipul liniei (- – linie continuă, – – – linie întreruptă, : – linie punctata);
– simbolul pentru marcarea punctelor corespunzătoare nodurilor diviziunii (+, o) prin
adăugarea unui al treilea parametru:
o plot(x,f(x) ,' r-o')
La generarea unei fig uri se va crea o fereastră cu reprezentarea grafică. La fiecare comandă
grafică s e redesenează in aceeași fereastră.
Exemplu:
x = 0:0.1:2*pi; plot(x,sin(x),x,sin(x/2),x,sin(2*x));
xlabel( 'x');ylabel( 'sinus ');
legend( 'sin(x) ','sin(x/2) ','sin(2x) ');

Fig. 3 Reprezentare grafică 2D a mai multor funcții
Pentru vizualizarea mai multor grafice în aceeași fereastra se poate folosi comanda
subplot(m,n,i), unde m și n reprezintă dimensiunile structurii tabelare unde vor fi plasate figurile,
iar i reprezintă numărul de ordine al poziției.
Exemplu
x = 0:0.1:4*pi;
subp lot(1,3,1);plot(x,sin(x));xlabel( 'x');ylabel( 'sin(x) ');
subplot(1,3,2);plot(x,sin(x/2));xlabel( 'x');ylabel( 'sin(x/2) ');

6 subplot(1,3,3);plot(x,sin(2*x));xlabel( 'x');ylabel( 'sin(2*x) ');

Fig. 4 Subplot

1.2. Grafice 3D

Pentru reprezentarea grafică a unei suprafețe (corespunzătoare unei funcții f definite pe domeniul
[a;b] x [c;d] se parcurg următoarele etape:
– se definește o grilă a domeniului de definiție prin: [x,y]=meshgrig(a:hx:b,c:hy:d)
corespunzătoare pașilor de discretiza re hx, respectiv hy)
– se calculează valorile funcției în nodurile grilei z = f(x,y) se va ține cont că x și y sunt
matrici, se reprezintă suprafața prin mesh(x,y,z) sau prin surf(x,y,z)
Exemplu:
Reprezentarea funcției 𝑓(𝑥,𝑦)= 𝑥2+𝑦2 definită pe [ -2,2] x [ -2; 2] folosind același pas de
discretizare, adică 0.1.

[x,y] = meshgrid( -2:0.1:2);

z = sqrt(x.^2 + y.^2);

mesh(x,y,z);pause;

meshc(x,y,z);pause;

7 contuor(x,y,z);pause;
contour3(x,y,z);

Fig. 5 Funcția mesh(x,y,z)

Fig. 6 Funcția meshc(x,y,x)

8
Fig. 7 Funcția contour

Exemplu:
Realizați graficul corpului, limitat de suprafețele: 𝑦2+2𝑦2=4𝑥 și 𝑥=2.
Secvența următoare permite reprezentarea corpului omogen.
[y,z] = meshgrid( -3:.03:3, -2,5:03:2,5);
x = y.^2/4 + z.^2/2;
[m,n] = size(x);
x1 = 2*ones(m,n);plot3(x,y,z,x1,y,z)

Fig. 8 Reprezentare Corp Omogen Matlab

9 Reprezentarea în coordonate polare se face cu funcția polar, se apelează cu una dintre sintaxele:
– polar(theta,r) polar(theta, r, 'linie -tip')
Modul de folosire al op țiunii linie -tip este identic cu cel al func ției plot.
Exemplul :
Sa se reprezinte în coordonate polare func ția:
f(x)=sin(2t)cos(2t).
Cu secven ța:
t=0:.01:2*pi;
f=sin(2 .*t).*cos(2 .*t);polar (t, f)

Fig. 9 Reprezentare Coordonate Polare

10 2. Polinoame de interpolare

2.1. Adunare și scădere

Fie două polinoame 𝑓(𝑥)= 𝑥4−12𝑥3+ 6𝑥2+2𝑥−1 și 𝑔(𝑥)= 2𝑥3+𝑥2+2𝑥+3.
Să se calculeze adunarea și scăderea celor doua polinoame.
f = [1,-12,6,2, -1];
g = [0,2,1,2,3] ;
sum = f + g ;
Obținem: sum = [1, -10,7,4,2] → 𝑥4−10𝑥3+7𝑥2+4𝑥+2
dif = f – g;
Obținem: dif = [1,14,5,0, -4] → 𝑥4+14𝑥3+5𝑥2−4

2.2. Rădăcinile unui polinom

Să se afle rădăcinile polinomului 𝑓(𝑥)=5𝑥6+23𝑥5+7𝑥4+8𝑥3+𝑥2+81𝑥+10 folosind
funcția roots.

f = [5,23,7,8,1,81,10];

Funcția: r = roots(f);

Rădăcinile sunt:
– 𝑥1= − 4.40
– 𝑥2=− 0.93
– 𝑥3=− 0.93
– 𝑥4=0.89
– 𝑥5=0.89
– 𝑥6=−0.12

11
2.3. Interpolare polinomială

Un set de func ții despre care se stie ca sunt liniar independente îl reprezint ă șirul de monoame xk-
1, (k =1,2,…,n). În acest caz func ția de interpolare devine un polinom de grad (n -1), numit polinom
de interpolare.
𝑔(𝑥)= 𝑃𝑛−1(𝑥)= ∑𝑎𝑘𝑥𝑘−1= 𝑎1+ 𝑎2𝑥+ 𝑎3𝑥2+⋯+𝑎𝑛𝑥𝑛−1𝑛
𝑘=1
Problema determinării coeficienților 𝑎𝑘 se rezolvă folosind condiția de interpolare, adică găsim
soluțiile sistemului de ecuații liniare:
∑𝑎𝑘𝑥𝑘−1𝑛
𝑘=1= 𝑦𝑖
care poate fi scris printr -o ecuație matriceală astfel:
[ 1𝑥1𝑥12…𝑥1𝑛−1
1𝑥2𝑥22…𝑥2𝑛−1
……………
1𝑥𝑛𝑥𝑛2…𝑥𝑛𝑛−1]
[𝑎1
𝑎2

𝑎𝑛]= [𝑦1𝑦𝑛…
𝑦𝑛]
Nodurile 𝑥𝑖 fiind distincte, sistemul este de tip Cramer, cu determinant Vandermonde, având o
soluiție unică bine determinată pentru coeficienții 𝑎𝑘. Metoda este foarte simplă, dar când
numărul de puncte 𝑥𝑖 este mare, rezolvarea sistemului este dificilă sau mai puțin convenabilă.
Dacă numărul de puncte 𝑥𝑖 este mare atunci se preferă alte forme ale polinoamelor de
interpolare.

Comenzi Matlab pentr u interpoarea și aproximarea datelor:

table1 Interpoleaz ă liniar și citește date din tabele unidimensionale
spline Interpoleaz ă prin metoda spline date din tabele unidimensionale
polyfit Aproximeaz ă un set de date cu un polinom de grad n
polyval Evaluează un polinom la valorile precizate ale variabilei
interp1 Interpoleaz ă liniar, spline sau cubic date din tabele unidimensionale
table2 Interpoleaz ă liniar date și citește date din tabele bidimensionale
interp2 Interpoleaz ă biliniar sau bicubic date din tabele bidimensionale

12 interp3 Interpoleaz ă biarmonic valorile unei func ții de doua variabile
interp4 Interpoleaz ă biliniar valorile unei func ții de doua variabile
interp5 Interpoleaz ă bicubic valorile unei func ții de doua variabile
regress Aproximeaz ă un set de date cu o func ție de mai multe variabile

Exemplu:

Dăndu -se următorul set de date se cere să se determine valoarea y de interpolare spline cubică
pentru x =2.6

X 0 1 2 3 4 5
Y 0 20 60 68 77 110

x = [0,1,2,4,5];
y = [0,20,60,68,77,110];
yval = spline(x,y,2.6)

Rezultat:
yval = 67.3013

13 3. Bibliografie

1) M. Ghinea, V. Firețeanu, Matlab: Calcul numeric – Grafică -Aplicații , ed. Teora, București,
1998.
2) I. Iatan , Îndrumător de laborator în Matlab 7.0 , Ed. Conspress, București, 2009.
3) G. Ciuprina, Algoritmi numerici, 2011 -2012
4) Curs de grafică în Matlba, http://www.scaap.ugal.ro/proiecte/Files/CURS_5.pdf
5) Introducere în Matlab, http://civile.utcb.ro/cmat/cursrt/ms_l12.pdf
6) Grafice, http://www.programare.biz/MATLAB/Grafice.pdf

Similar Posts