Introducció
En aquest tema, aprendrem com accedir i manipular elements individuals o subconjunts de vectors i matrius en MATLAB. La indexació i segmentació són habilitats fonamentals per treballar amb dades de manera eficient.
Conceptes Clau
- Indexació Bàsica: Accedir a elements individuals de vectors i matrius.
- Segmentació: Seleccionar subconjunts de vectors i matrius.
- Indexació Lògica: Utilitzar condicions lògiques per accedir a elements.
- Indexació Avançada: Utilitzar funcions i tècniques avançades per a la manipulació de dades.
Indexació Bàsica
Vectors
Per accedir a un element específic d'un vector, utilitzem parèntesis i l'índex de l'element.
v = [10, 20, 30, 40, 50]; element = v(3); % Accedeix al tercer element del vector disp(element); % Mostra 30
Matrius
Per accedir a un element específic d'una matriu, utilitzem parèntesis i els índexs de la fila i la columna.
A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; element = A(2, 3); % Accedeix a l'element de la segona fila i tercera columna disp(element); % Mostra 6
Segmentació
Vectors
Podem seleccionar un subconjunt d'elements d'un vector utilitzant el rang d'índexs.
v = [10, 20, 30, 40, 50]; subvector = v(2:4); % Selecciona els elements del segon al quart disp(subvector); % Mostra [20, 30, 40]
Matrius
Podem seleccionar un subconjunt d'elements d'una matriu especificant els rangs de files i columnes.
A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; submatrix = A(1:2, 2:3); % Selecciona les files 1 a 2 i les columnes 2 a 3 disp(submatrix); % Mostra [2, 3; 5, 6]
Indexació Lògica
L'indexació lògica permet seleccionar elements d'un vector o matriu que compleixen una condició específica.
v = [10, 20, 30, 40, 50]; logicalIndex = v > 25; % Crea un vector lògic selectedElements = v(logicalIndex); % Selecciona elements majors de 25 disp(selectedElements); % Mostra [30, 40, 50]
Indexació Avançada
Funcions de Subindexació
MATLAB proporciona funcions com find
per obtenir els índexs dels elements que compleixen una condició.
v = [10, 20, 30, 40, 50]; indices = find(v > 25); % Troba els índexs dels elements majors de 25 disp(indices); % Mostra [3, 4, 5]
Indexació amb Vectors de Índexs
Podem utilitzar vectors d'índexs per accedir a múltiples elements no consecutius.
v = [10, 20, 30, 40, 50]; indices = [1, 3, 5]; selectedElements = v(indices); % Selecciona els elements en les posicions 1, 3 i 5 disp(selectedElements); % Mostra [10, 30, 50]
Exercicis Pràctics
Exercici 1
Crea un vector v
amb els valors [5, 10, 15, 20, 25, 30]
. Selecciona els elements en les posicions 2, 4 i 6.
v = [5, 10, 15, 20, 25, 30]; selectedElements = v([2, 4, 6]); disp(selectedElements); % Mostra [10, 20, 30]
Exercici 2
Crea una matriu A
de 3x3 amb els valors de l'1 al 9. Selecciona els elements de la segona fila.
Exercici 3
Crea un vector v
amb els valors [2, 4, 6, 8, 10, 12]
. Utilitza l'indexació lògica per seleccionar els elements majors de 5.
v = [2, 4, 6, 8, 10, 12]; selectedElements = v(v > 5); disp(selectedElements); % Mostra [6, 8, 10, 12]
Resum
En aquesta secció, hem après com accedir i manipular elements de vectors i matrius utilitzant tècniques d'indexació i segmentació. Hem vist com utilitzar la indexació bàsica, la segmentació, la indexació lògica i tècniques avançades per treballar amb dades de manera eficient. Aquestes habilitats són fonamentals per a qualsevol programador que treballi 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