En aquest tema, explorarem tècniques avançades per a la creació de gràfics en MATLAB. Aquestes tècniques us permetran crear visualitzacions més complexes i personalitzades, millorant la capacitat de comunicar dades de manera efectiva.
Contingut
Gràfics amb Subplots
Els subplots permeten crear múltiples gràfics en una sola figura, organitzats en una matriu de subgràfics.
Exemple
% Crear una figura amb 4 subplots (2x2)
figure;
% Primer subplot
subplot(2, 2, 1);
x = linspace(0, 2*pi, 100);
y1 = sin(x);
plot(x, y1);
title('Sine Wave');
% Segon subplot
subplot(2, 2, 2);
y2 = cos(x);
plot(x, y2);
title('Cosine Wave');
% Tercer subplot
subplot(2, 2, 3);
y3 = tan(x);
plot(x, y3);
title('Tangent Wave');
% Quart subplot
subplot(2, 2, 4);
y4 = x.^2;
plot(x, y4);
title('Quadratic Function');Explicació
figure: Crea una nova finestra de figura.subplot(m, n, p): Divideix la figura en una matriu de subgràfics de m files i n columnes, i selecciona el p-èssim subgràfic per a dibuixar-hi.
Gràfics amb Eixos Múltiples
Els gràfics amb eixos múltiples permeten superposar diversos gràfics amb diferents escales d'eixos en una sola figura.
Exemple
x = linspace(0, 10, 100);
y1 = sin(x);
y2 = exp(x/10);
figure;
yyaxis left;
plot(x, y1);
ylabel('Sine Wave');
yyaxis right;
plot(x, y2);
ylabel('Exponential Function');
title('Gràfic amb Eixos Múltiples');
xlabel('X-axis');Explicació
yyaxis left: Activa els eixos de l'esquerra.yyaxis right: Activa els eixos de la dreta.
Gràfics Interactius
MATLAB permet crear gràfics interactius que responen a les accions de l'usuari, com ara clics i moviments del ratolí.
Exemple
x = linspace(0, 2*pi, 100);
y = sin(x);
figure;
plot(x, y);
title('Gràfic Interactiu');
xlabel('X-axis');
ylabel('Sine Wave');
% Afegir interactivitat
dcm = datacursormode;
datacursormode on;
set(dcm, 'UpdateFcn', @myupdatefcn);
function txt = myupdatefcn(~, event_obj)
pos = get(event_obj, 'Position');
txt = {['X: ', num2str(pos(1))], ['Y: ', num2str(pos(2))]};
endExplicació
datacursormode on: Activa el mode de cursor de dades.set(dcm, 'UpdateFcn', @myupdatefcn): Defineix una funció de retorn de trucada per actualitzar la informació del cursor de dades.
Animacions
Les animacions permeten visualitzar dades que canvien amb el temps.
Exemple
x = linspace(0, 2*pi, 100);
y = sin(x);
figure;
h = plot(x, y);
title('Animació de Sine Wave');
xlabel('X-axis');
ylabel('Sine Wave');
for k = 1:100
y = sin(x + 2*pi*k/100);
set(h, 'YData', y);
pause(0.1);
endExplicació
set(h, 'YData', y): Actualitza les dades de l'eix Y del gràfic.pause(0.1): Pausa l'execució durant 0.1 segons per crear l'efecte d'animació.
Exportació de Gràfics
MATLAB permet exportar gràfics a diversos formats d'imatge i fitxers.
Exemple
x = linspace(0, 2*pi, 100);
y = sin(x);
figure;
plot(x, y);
title('Gràfic per Exportar');
xlabel('X-axis');
ylabel('Sine Wave');
% Exportar a PNG
saveas(gcf, 'sine_wave.png');
% Exportar a PDF
saveas(gcf, 'sine_wave.pdf');Explicació
saveas(gcf, 'filename.ext'): Guarda la figura actual en el format especificat per l'extensió del fitxer.
Exercicis Pràctics
Exercici 1: Crear una Figura amb Subplots
Crea una figura amb 4 subplots (2x2) que mostrin les següents funcions:
y = sin(x)y = cos(x)y = tan(x)y = x^3
Solució
x = linspace(0, 2*pi, 100);
figure;
subplot(2, 2, 1);
plot(x, sin(x));
title('Sine Wave');
subplot(2, 2, 2);
plot(x, cos(x));
title('Cosine Wave');
subplot(2, 2, 3);
plot(x, tan(x));
title('Tangent Wave');
subplot(2, 2, 4);
plot(x, x.^3);
title('Cubic Function');Exercici 2: Crear un Gràfic amb Eixos Múltiples
Crea un gràfic amb eixos múltiples que mostri les següents funcions:
y1 = sin(x)(eix esquerre)y2 = exp(x/10)(eix dret)
Solució
x = linspace(0, 10, 100);
y1 = sin(x);
y2 = exp(x/10);
figure;
yyaxis left;
plot(x, y1);
ylabel('Sine Wave');
yyaxis right;
plot(x, y2);
ylabel('Exponential Function');
title('Gràfic amb Eixos Múltiples');
xlabel('X-axis');Conclusió
En aquesta secció, hem explorat diverses tècniques avançades per a la creació de gràfics en MATLAB, incloent subplots, eixos múltiples, gràfics interactius, animacions i exportació de gràfics. Aquestes eines us permetran crear visualitzacions més complexes i personalitzades, millorant la capacitat de comunicar dades de manera efectiva. En el proper mòdul, ens endinsarem en l'anàlisi de dades i estadística amb MATLAB.
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
