Concetti Chiave
- Gli operatori aritmetici permettono di eseguire operazioni come addizione, sottrazione, moltiplicazione e divisione su matrici, richiedendo che abbiano lo stesso numero di righe e colonne per alcune operazioni.
- Gli operatori di comparazione restituiscono 1 se la condizione è vera e 0 se è falsa, lavorando elemento per elemento su matrici.
- Gli operatori booleani utilizzano espressioni di comparazione e restituiscono valori veri o falsi, a seconda del risultato delle condizioni confrontate.
- Le assegnazioni possono memorizzare nuovi valori in variabili e supportano anche la cancellazione di righe o colonne in matrici, oltre alla possibilità di assegnazioni multiple.
- Gli operatori di incremento e decremento modificano il valore di una variabile di 1, con la possibilità di farlo prima o dopo l'assegnazione originale.
Operatori aritmetici
Operatori aritmetici X+Y addizione (se x e y sono matrici devono avere lo stesso numero di righe e di colonne) X.+Y addizione elemento per elemento X-Y sottrazione (se x e y sono matrici devono averelo stesso numerodirighee di colonne) X.-Y sottrazione elemento per elemento X*Y moltiplicazione (se x ey sono matricidevono avere lo stesso numero dirighe e di colonne) X.*Y moltiplicazione elemento per elemento X/Y divisione (concettualmente uguale a (inverse(Y')*X')) X./Y divisione elemento per elemento XY divisione sinistra (concettualmente uguale a(inverse(X)*Y)) X.Y divisione elemento per elemento X^Y potenza tra matrici o scalari X**Y X.^Y potenza elemento per elemento X.
Operatori di comparazione
**Y -X negazione X' trasposta Operatori di comparazione Gli operatori di comparazione danno come risultato 1 se la comparazione è vera, 0 se è falsa. Per le matrici gli operatori lavorano elemento per elemento. Per esempio: >> [1,2;3,4]= =[1,3;2,4] >> ans 1 0 0 1 X
Operatori booleani
Operatori booleani elemento per elemento Sono espressioni di comparazione che usano gli operatori booleani or, and (&), not(!). Un valore è falso se è 0, vero altrimenti (se è1).
Operatori di assegnazione
Operatori di assegnazione Un'assegnazione è un'espressione che memorizza un nuovo valore in una variabile. Per esempio: >> z=1 Assegna il valore 1 alla variabile z. =? è chiamato operatore di assegnazione. L'assegnazione può assegnare anche stringhe. Esempio: >> thing=?food? >> predicate=?good? >> message=[this?,thing,?is?,predicate] Assegna il valore this food is good? alla variabile message (qui è illustrate anche la concatenazione di stringhe). La parte sinistra di un'assegnazione non può essere una variabile. Può anche essere un elemento di una matrice o una lista di valori di output. Questi sono tutti chiamati IVALUES e significa che possono apparire sulla parte sinistra dell'operatore di assegnazione. Se viene assegnato uno scalare ad un amatrice indicizzata questo pone tutti gli elementi chiamati dall'indice uguali al valore dello scalare. Per esempio, se a è una matrice con almeno 2 colonne: >> a(:,2)=5 Pone tutti gli elementi nella seconda colonna di a uguali a 5. Assegnare una matrice vuota [ ]? permette di cancellare righe o colonne della matrice o del vettore. Per esempio, data una matrice A 4*5, l'assegnazione: >> A(3,:)=[ ] Cancella la terza riga di a e l'assegnazione: >> A(:,1:2:5)=[] Cancella la prima, terza e quinta colonna. Un'assegnazione è un'espressione quindi ha un valore. Infatti ponendo >> z=1 È un'espressione che ha valore 1. Una conseguenza di ciò è che è possibile fare assegnazioni multiple contemporaneamente. Esempio: >> x=y=z=0 Assegna il valore
Operatori di incremento
Operatori di incremento Incrementano o decrementano il valore di una variabile di 1. L'operatore di incremento è scritto ++?. Può incrementare la variabile prima o dopo che gli sia stato assegnato il valore. Per esempio, per preincrementare la variabile si scrive: >> ++x Aggiunge1 a x e dà il nuovo valore di x come risultato dell'espressione. E' uguale all'espressione >> x0x+1 Per postincrementare una variabile si scrive: >> x++ Aggiunge 1 alla variabile x, ma da il valore che x aveva prima dell'incremento. Per esempio, se x=2, il risultato dell'espressione x++ è 2 e il nuovo valore di x è 3. Per gli elementi della matrice e del vettore, gli operatori di incremento e decremento lavorano su ogni elemento dell'operando. Espressioni di incremento e decremento: ++x incrementa la variabile x. Il valore dell'espressione è il nuovo valore di x. E'equivalente a x=x+1 --x decrementa la variabile x. E' equivalente a x=x-1 X++ porta la x a essere incrementata. Il valore dell' espressione è il vecchio valore di x x-- porta la x a essere decrementata. Il valore dell'espressione è il vecchio valore di x.
Operatori di precedenza
Operatori di precedenza Determinano come gli operatori sono raggruppati, quando operatori diversi compaiono nella stessa espressione. Per esempio, * ha precedenza rispetto a 2+. Quindi l'espressione >> a+b*c Significa moltiplicare b*c e aggiungere a al prodotto (a+(b*c)). E' comunque opportuno utilizzare le parentesi quando c'è una combinazione inusuale di operatori, in quanto chi legge il programma potrebbe non ricordare qual è la precedenza.
Domande da interrogazione
- Qual è la differenza tra l'addizione di matrici e l'addizione elemento per elemento?
- Come funziona la sottrazione tra matrici?
- Cosa rappresentano gli operatori di comparazione?
- Qual è la funzione degli operatori di assegnazione?
- Come si utilizzano gli operatori di incremento?
L'addizione di matrici (X+Y) richiede che X e Y abbiano lo stesso numero di righe e colonne, mentre l'addizione elemento per elemento (X.+Y) somma i singoli elementi delle matrici indipendentemente dalla loro dimensione.
La sottrazione (X-Y) tra matrici è valida solo se X e Y hanno lo stesso numero di righe e colonne, mentre la sottrazione elemento per elemento (X.-Y) opera su ciascun elemento delle matrici.
Gli operatori di comparazione restituiscono 1 se la condizione è vera e 0 se è falsa, lavorando elemento per elemento per le matrici, come illustrato dall'esempio di uguaglianza tra matrici.
Gli operatori di assegnazione memorizzano un nuovo valore in una variabile, come nel caso di "z=1", e possono anche assegnare stringhe o modificare elementi di matrici.
Gli operatori di incremento (come ++x e x++) aumentano il valore di una variabile di 1, con la differenza che il preincremento restituisce il nuovo valore, mentre il postincremento restituisce il valore precedente.