Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 2
Lab06(logica) Lab06(logica)
Altri esempi
Note:
espressione risultato
– I vettori logici
5<7 1 possono ancora
[ 3 5 2 ] > = [ 1 0 12 ] 1 1 0 essere usati come
numerici!
max( 1:6 ) < = 7 1
– Possiamo usare il
[3 pi -12 ] > 1 1 1 0 risultato per fare un
'Tom' = = 'Bob' 0 1 0 calcolo: es.
'Tom' = = 'm' 0 0 1 “Quante lettere “s” in
una parola?”
5 6
Lab06(logica) Lab06(logica)
7 8
Lab06(logica) Lab06(logica)
>> A = 1:5
A = Gli operatori relazionali possono essere usati
1 2 3 4 5 direttamente per selezionare gli elementi di un
>> i = [1,0,0,0,1]; vettore.
i =
1 0 0 0 1 Per esempio, se x = [6,3,9] e y = [14,2,9],
>> j=logical(i) digitando
j =
1 0 0 0 1 z = x(x<y)
>> A(j)
ans = Troviamo tutti gli elementi di x che sono minori del
1 5 corrispondente elemento in y.
>> A(i) Il risultato sarà:
??? Index into matrix is negative or zero.
See release notes on change to logical z = 6.
9 indices. 10
Lab06(logica) Lab06(logica)
13 14
Lab06(logica) Lab06(logica)
15 16
Lab06(logica) Lab06(logica)
Lab06(logica) Lab06(logica)
Nella seguente sessione notate la differenza tra il risultato – Estensione di | e & ai vettori:
di y(x&y) e quello di find(x&y) nel lucido precedente. any(X) all(X)
– Per verificare la dimensione:
>>x = [5, -3, 0, 0, 8];y = [2, 4, 0, 5, 7];
>>values = y(x&y) isempty(A)
values = – Per verificare il valore:
2 4 7 isinf(A) isnan(A) finite(A)
– Per verificare il tipo di dati:
ischar(A) isnumeric(A) isreal(A)
21 22
Lab06(logica) Lab06(logica)
all(x) Ritorna uno scalare: 1 se tutti gli elementi del isinf(A) Ritorna un vettore (o matrice) delle
vettore x sono non nulli, 0 altrimenti. stesse dimensioni di A con1 dove gli
all(A) Ritorna un vettore riga, con lo stesso numero elementi di A sono ‘inf’, 0 altrove.
di colonne della matrice A, che contiene 1 o
0, in funzione del fatto che la corrispondente
colonna di A contenga tutti elementi non nulli isnan(A) Ritorna un vettore (o matrice) delle
oppure no. stesse dimensioni di A con1 dove gli
elementi di A sono ‘NaN’, 0 altrove.
any(x) Ritorna uno scalare: 1 se almeno un (‘NaN’ sta per “not a number,” cioè
elemento del vettore x è non nullo, 0 altrimenti.
any(A) Ritorna un vettore riga, con lo stesso numero di risultato indefinito)
colonne della matrice A, che contiene 1 o 0, in
funzione del fatto che la corrispondente finite(A) Ritorna un vettore (o matrice) delle
colonna di A contenga almeno un elemento stesse dimensioni di A, con 1 dove gli
non nullo oppure no. elementi di A sono finiti, 0 altrove.
23 isempty(A) Ritorna 1 se A è vuoto, 0 altirmenti. 24
Lab06(logica) Lab06(logica)
25 26
Lab06(logica) Lab06(logica)
Possono anche essere matrici di celle N.B. Quello che otteniamo dall’indicizzazione è
>> nomi={'tim','smith'
'tom','jones' ancora una cella, non una stringa!
'carl','lee'} >> x=nomi(1,2)
x =
nomi =
'smith'
'tim' 'smith'
'tom' 'jones' >> x=='smith'
'carl' 'lee' ??? Error using ==> ==
Function '==' is not defined for values of class 'cell'.
27 28
Lab06(logica) Lab06(logica)
29 30