Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Matlab


Qdidactic » stiinta & tehnica » informatica » matlab
Plotari tridimensionale (3-D)



Plotari tridimensionale (3-D)


Plotari tridimensionale (3-D)



Pasii tipici care trebuie parcursi pentru trasarea unor grafice tridimensionale sunt prezentati in continuare.


Etapa


Instructiuni

1.Pregatirea datelor

Z = peaks(20);


2. Selectarea ferestrei grafice si pozitionarea graficului in fereastra 

figure(1) subplot(2,1,2)



3. Apelarea unei functii de plotare 3-D

h = surf(Z);

4a. Setarea unei harti de culori si a unui algoritm de umbrire

colormap hot

shading interp

set(h,'EdgeColor','k')


4b. Adaugarea unei iluminari

light('Position',[-2,2,20]) lighting phong

material([0.4,0.6,0.5,30]) set(h,'FaceColor',[0.7 0.7 0],

      'BackFaceLighting','lit')


5. Setarea unui punct de vizualizare

view([30,25]) set(gca,'CameraViewAngleMode','Manual')


6. Setarea limitelor axelor si a marcajelor

axis([5 15 5 15 -8 8])

set(gca'ZTickLabel','Negative||Positive')


7. Setarea proportionalitatii

set(gca,'PlotBoxAspectRatio',

[2.5 2.5 1])


8. Completarea graficului cu etichete, legenda, text

xlabel('X Axis')

ylabel('Y Axis')

zlabel('Function Value')

title('Peaks')


9. Operatiuni de tiparire

set(gcf,'PaperPositionMode','auto') print -dps2




Reprezentarea unei matrice ca o suprafata


MATLAB-ul defineste o suprafata prin coordonatele z ale punctelor de deasupra unui caroiaj dreptunghiular in planul x-y. Graficul este format prin unirea punctelor adiacente cu linii drepte. Plotarile de suprafete sunt utile pentru vizualizarea matricilor care sunt prea mari pentru a fi afisate in forma numerica si pentru trasarea graficelor functiilor de doua variabile.


MATLAB-ul poate crea diferite forme de trasare a suprafetelor:


Functie

Utilizare


mesh, surf

Trasare a unei suprafete


meshc, surfc

Trasarea suprafetei, inclusiv conturul


meshz

Trasarea suprafetei, inclusiv planul de referinta


pcolor

Plotare plana a suprafetei (valorile sunt proportionale doar cu culoarea)

surfl

Trasarea suprafetei luminata din directia specificata


surface

Functie de nivel scazut pentru crearea unor obiecte tip grafice suprafata


Grafice realizate cu mesh si surf


Comenzile mesh si surf genereaza suprafete 3-D din datele provenite de la matrici. Daca Z este o matrice pentru elementele careia Z(i,j) se defineste inaltimea unei suprafete peste un caroiaj (i,j) atunci


mesh(Z)

genereaza o imagine colorata, caroiata a suprafetei si o afiseaza in vedere 3-D.


Similar,


surf(Z)

genereaza o imagine colorata, continua a suprafetei si o afiseaza in vedere 3-D.


In cazul comenzii mesh se pot folosi comenzi de tipul shading pentru eliminarea liniilor de tip mesh (shading flat) sau pentru interpolarea umbririlor de-a lungul fatetelor suprafetei (shading interp



Vizualizarea functiilor de doua variabile


Primul pas care trebuie parcurs pentru trasarea graficului unei functii de doua variabile, z = f(x,y), este de a genera matricile X si Y care definesc domeniul in care va fi vizualizata functia. Apoi se utilizeaza aceste matrici pentru evaluare si trasarea graficului functiei.


Functia meshgrid transforma domeniul specificat prin doi vectori, x si y, in matricile X si Y. Liniile matricei X sunt copii ale vectorului x si coloanele matricei Y sunt copii ale vectorului y


Pentru a vedea cum se foloseste meshgrid, vom considera functia sin(r)/r (numita functia sinc). Pentru a evalua functia intre -8 si 8 si pentru x si pentru y, este necesar doar un argument de tip vector pentru meshgrid, care va fi utilizat in ambele directii:


[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;

Matricea R contine distantele de la centru (originea), iar eps este adaugat pentru a evita impartirea la zero.

Acum se poate forma functia sinc si se poate realiza plotarea cu mesh


Z = sin(R)./R;
mesh(Z)

Se poate realiza o imbunatatire a reprezentarii grafice in conditiile utilizarii acelorasi date, prin folosirea unor facilitati de iluminare si ajustare a imaginii (daspect, axis, camlight, view).

Exemplu:

surf(X,Y,Z,'FaceColor','interp','EdgeColor','none',
'FaceLighting','phong')
daspect([5 5 1]);axis tight;view(-50,30);camlight left

Harta culorilor


Fiecare fereastra grafica MATLAB are asociata o harta a culorilor (colormap), care este o matrice cu trei coloane a caror lungime este egala cu numarul de culori definite. Fiecare linie a matricii defineste o culoare particulara prin specificarea a trei valori in domeniul 0 – 1. Aceste valori definesc componentele RGB (red, green, blue) (adica intensitatile componentelor video rosu, verde si albastru). Functia colormap fara argumente returneaza harta figurii curente.

Functia colorbar afiseaza in fereastra grafica harta curenta a culorilor, sub forma unei bare asezate langa grafic. Exemplu:

[x,y] = meshgrid([-2:.2:2]);Z = x.*exp(-x.^2-y.^2);
surf(x,y,Z,gradient(Z));colorbar






Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright