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 colorsExplicació:
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
