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

  1. Indexació Bàsica: Accedir a elements individuals de vectors i matrius.
  2. Segmentació: Seleccionar subconjunts de vectors i matrius.
  3. Indexació Lògica: Utilitzar condicions lògiques per accedir a elements.
  4. 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.

A = [1, 2, 3; 4, 5, 6; 7, 8, 9];
secondRow = A(2, :);
disp(secondRow); % Mostra [4, 5, 6]

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.

© Copyright 2024. Tots els drets reservats