Untitled

 avatar
unknown
plain_text
a month ago
1.3 kB
1
Indexable
% Creiamo un vettore
A = [3 0 5 0 8 0 1]

% Trova gli indici dei valori non-zero
indici = find(A)    % restituisce [1 3 5 7]
% Significa che i valori non-zero sono nelle posizioni 1,3,5,7

% Accedi ai valori usando gli indici trovati
valori = A(indici)  % restituisce [3 5 8 1]

% Trova numeri maggiori di 4
B = [1 6 3 8 2 7]
indici = find(B > 4)    % restituisce [2 4 6]
valori = B(indici)      % restituisce [6 8 7]

% Trova numeri pari
indici = find(mod(B,2) == 0)  % restituisce [2 4]
valori = B(indici)            % restituisce [6 8]

% Creiamo una matrice
M = [1 0 3; 0 5 6; 7 0 9]

% Trova indici di elementi non-zero
[righe, colonne] = find(M)  
% righe = [1; 1; 2; 2; 3; 3]
% colonne = [1; 3; 2; 3; 1; 3]

% Find con limite (trova solo i primi n risultati)
A = [1 4 2 6 3 8 5]
primi_due = find(A > 3, 2)    % restituisce solo i primi 2 indici 
                              % dove A > 3 (cioè [2 4])

% Trova gli studenti promossi in una classe
voti = [65 88 72 45 90 58 93 77]
promossi = find(voti >= 60)   % trova indici degli studenti con voto >= 60
voti_promossi = voti(promossi)

% Trova il primo e l'ultimo elemento che soddisfa una condizione
primo = find(voti >= 60, 1, 'first')    % primo studente promosso
ultimo = find(voti >= 60, 1, 'last')    % ultimo studente promosso
Leave a Comment