Els gràfics 3D en MATLAB són una eina poderosa per visualitzar dades en tres dimensions. Aquest tipus de gràfics és especialment útil en camps com l'enginyeria, la física, la química i altres disciplines científiques. En aquesta secció, aprendrem a crear i personalitzar gràfics 3D utilitzant MATLAB.
Continguts
Creació de Gràfics 3D Bàsics
Exemple: Gràfic de Punts 3D
% Dades de mostra x = linspace(-10, 10, 100); y = linspace(-10, 10, 100); z = sin(sqrt(x.^2 + y.^2)); % Crear un gràfic de punts 3D figure; plot3(x, y, z, 'o'); title('Gràfic de Punts 3D'); xlabel('X'); ylabel('Y'); zlabel('Z'); grid on;
Explicació:
linspace(-10, 10, 100)
: Genera 100 punts equidistants entre -10 i 10.sqrt(x.^2 + y.^2)
: Calcula la distància euclidiana des de l'origen.plot3(x, y, z, 'o')
: Crea un gràfic de punts 3D.
Gràfics de Superfície
Exemple: Gràfic de Superfície
% Dades de mostra [X, Y] = meshgrid(-10:0.5:10, -10:0.5:10); Z = sin(sqrt(X.^2 + Y.^2)); % Crear un gràfic de superfície figure; surf(X, Y, Z); title('Gràfic de Superfície'); xlabel('X'); ylabel('Y'); zlabel('Z'); colorbar;
Explicació:
meshgrid(-10:0.5:10, -10:0.5:10)
: Genera una malla de punts en l'espai 3D.surf(X, Y, Z)
: Crea un gràfic de superfície.
Gràfics de Malla
Exemple: Gràfic de Malla
% Dades de mostra [X, Y] = meshgrid(-10:0.5:10, -10:0.5:10); Z = sin(sqrt(X.^2 + Y.^2)); % Crear un gràfic de malla figure; mesh(X, Y, Z); title('Gràfic de Malla'); xlabel('X'); ylabel('Y'); zlabel('Z');
Explicació:
mesh(X, Y, Z)
: Crea un gràfic de malla, que és similar a un gràfic de superfície però sense omplir les cares.
Gràfics de Contorn 3D
Exemple: Gràfic de Contorn 3D
% Dades de mostra [X, Y] = meshgrid(-10:0.5:10, -10:0.5:10); Z = sin(sqrt(X.^2 + Y.^2)); % Crear un gràfic de contorn 3D figure; contour3(X, Y, Z, 50); title('Gràfic de Contorn 3D'); xlabel('X'); ylabel('Y'); zlabel('Z');
Explicació:
contour3(X, Y, Z, 50)
: Crea un gràfic de contorn 3D amb 50 nivells de contorn.
Personalització de Gràfics 3D
Exemple: Personalització de Gràfic de Superfície
% Dades de mostra [X, Y] = meshgrid(-10:0.5:10, -10:0.5:10); Z = sin(sqrt(X.^2 + Y.^2)); % Crear un gràfic de superfície amb personalització figure; surf(X, Y, Z); title('Gràfic de Superfície Personalitzat'); xlabel('X'); ylabel('Y'); zlabel('Z'); colorbar; shading interp; % Interpolació de colors colormap jet; % Canviar la paleta de colors
Explicació:
shading interp
: Aplica una interpolació suau de colors.colormap jet
: Canvia la paleta de colors a 'jet'.
Exercicis Pràctics
Exercici 1: Crear un Gràfic de Superfície
Descripció:
Crea un gràfic de superfície per a la funció Z = cos(sqrt(X.^2 + Y.^2))
utilitzant una malla de punts entre -5 i 5 amb un pas de 0.1.
Solució:
% Dades de mostra [X, Y] = meshgrid(-5:0.1:5, -5:0.1:5); Z = cos(sqrt(X.^2 + Y.^2)); % Crear un gràfic de superfície figure; surf(X, Y, Z); title('Gràfic de Superfície de cos(sqrt(X.^2 + Y.^2))'); xlabel('X'); ylabel('Y'); zlabel('Z'); colorbar;
Exercici 2: Crear un Gràfic de Malla Personalitzat
Descripció:
Crea un gràfic de malla per a la funció Z = X.*exp(-X.^2 - Y.^2)
i personalitza'l amb una paleta de colors 'hot' i una interpolació suau de colors.
Solució:
% Dades de mostra [X, Y] = meshgrid(-3:0.1:3, -3:0.1:3); Z = X.*exp(-X.^2 - Y.^2); % Crear un gràfic de malla personalitzat figure; mesh(X, Y, Z); title('Gràfic de Malla de X*exp(-X.^2 - Y.^2)'); xlabel('X'); ylabel('Y'); zlabel('Z'); shading interp; % Interpolació de colors colormap hot; % Canviar la paleta de colors a 'hot'
Conclusió
En aquesta secció, hem après a crear i personalitzar diversos tipus de gràfics 3D en MATLAB, incloent gràfics de punts, superfícies, malles i contorns. Aquests gràfics són eines essencials per visualitzar dades en tres dimensions i poden ser personalitzats per satisfer les necessitats específiques de qualsevol projecte. Amb la pràctica, podràs dominar aquestes tècniques i aplicar-les a les teves pròpies dades.
Curs de Programació en MATLAB
Mòdul 1: Introducció a MATLAB
- Començant amb MATLAB
- Interfície i Entorn de MATLAB
- Comandes i Sintaxi Bàsiques
- Variables i Tipus de Dades
- Operacions i Funcions Bàsiques
Mòdul 2: Vectors i Matrius
- Creació de Vectors i Matrius
- Operacions amb Matrius
- Indexació i Segmentació
- Funcions de Matrius
- Àlgebra Lineal en MATLAB
Mòdul 3: Estructures de Programació
- Flux de Control: if, else, switch
- Bucles: for, while
- Funcions: Definició i Abast
- Scripts vs. Funcions
- Depuració i Gestió d'Errors
Mòdul 4: Visualització de Dades
- Conceptes Bàsics de Gràfics
- Gràfics 2D
- Gràfics 3D
- Personalització de Gràfics
- Tècniques Avançades de Gràfics
Mòdul 5: Anàlisi de Dades i Estadística
- Importació i Exportació de Dades
- Estadístiques Descriptives
- Preprocessament de Dades
- Anàlisi de Regressió
- Proves Estadístiques
Mòdul 6: Temes Avançats
- Entrada/Sortida de Fitxers
- Gestió de Grans Conjunts de Dades
- Tècniques d'Optimització
- Conceptes Bàsics de Simulink
- Computació Paral·lela