Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Funzioni Grafiche
Funzione
Scopo
figure(figNumber)
apre una figura identificata dall'handle figNumber. Se non presente definisce l'handle in maniera incrementale
hold
+ on / off definisce se tenere o cancellare il grafico attualmente presente nella figura alla prossima operazione di visualizzazione
plot(x,y)
disegna in un riferimento cartesiano 2D le coppie di punti identificati da (x(1),y(1))... (x(end), y(end)). x ed y devono avere la stessa lunghezza
plot3(x,y,z)
disegna in un riferimento cartesiano 3D le coppie di punti identificati da (x(1),y(1),z(1))... (x(end), y(end), z(end)). x,y e z devono avere la stessa lunghezza
plot(x,y,frmStr)
frmStr specifica il marker ed il colore usato nella visualizzazione dei punti
imagesc(A)
Visualizza la matrice A come un'immagine in colormap default. Ogni pixel viene ridimensionato per migliorare la visualizzazione
imshow(A)
visualizza un immagine in scala di grigi (se A e di dimensione 2) o a colori nello spazio RGB (se A e di dimensione 3)
legend(titles)
Visualizza la legenda, usando le stringhe in titles
Funzioni Logiche
- isreal(x)
- ischar(x)
- isnumeric(x)
- isfinite(x)
- isinf(x)
- isempty(x)
- isnan(x)
- any(x)
- all(x)
1 se x ha solo elementi di tipo double, con parte immaginaria nulla, 0 altrimenti
1 se x è di tipo char, 0 altrimenti
1 se x è di tipo double, con parte immaginaria nulla, 0 altrimenti
un array delle stesse dimensioni di x con 1 dove gli elementi di x sono finiti, 0 altrimenti
un array delle stesse dimensioni di x con 1 dove gli elementi di x sono ‘inf’, 0 altrimenti
1 se x è vuoto, 0 altrimenti
un array delle stesse dimensioni di x con 1 dove gli elementi di x sono ‘NaN’, 0 altrimenti
un vettore riga, con lo stesso numero di colonne della matrice x, che contiene 1 se la corrispondente colonna di x contiene almeno un elemento non nullo, 0 altrimenti. Se x è un vettore restituisce 0 o 1 con lo stesso criterio.
un vettore riga, con lo stesso numero di colonne della matrice x, che contiene 1 se la corrispondente colonna di x contiene tutti elementi non nulli, 0 altrimenti. Se x è un vettore restituisce 0 o 1 con lo stesso criterio.
Variabile
ans
eps
date
clock
nan
inf (o lnf)
i, j
pi
Scopo
Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
epsilon: la più piccola differenza rappresentabile tra due numeri
contiene la data corrente sotto forma di stringa
contiene la data e l'orario corrente. E' un vettore di sei elementi (anno, mese, giorno, ora, minuti, secondi)
Not-A-Number è il risultato di una operazione matematica non definita, es 0/0
rappresentazione dell'infinito (ottenuto di solito come risultato di una divisione per 0)
contiene il valore i ( √-1 )
contiene 15 cifre significative di π
PARAMETRI
- I PARAMETRI FORMALI sono le variabili usate come argomenti e valori di ritorno nella definizione della funzione.
- I PARAMETRI ATTUALI sono i valori (le variabili) usati come argomenti e come valori di ritorno nell'invocazione della funzione.
Esempio:
function f = fattoriale(n) f = 1; for i = 1:n f = f * i; end[f e n sono parametri formali]
>>> fat5 = fattoriale(5) % invocazione
fat5:
120
- Analogia: tipo di parametro è ammesso (scalari, vettori, matrici, stringhe, ecc.)
- I parametri attuali vengono associati a quelli formali in base alla posizione: il primo parametro attuale viene associato al primo formale, il secondo parametro attuale al secondo parametro formale, ecc.
Esempio:
>>> [X,Y] = SumProd(a,b)
function [S,P] = SumProd(a,b) S = a + b; P = a * b;ESECUZIONE DI UNA FUNZIONE
- Quando una funzione viene eseguita, viene creato un workspace locale in cui vengono memorizzate tutte le variabili usate nella funzione inclusi i parametri formali.
- All'interno della funzione non si può accedere al workspace "principale".
- Al termine dell'esecuzione della funzione, il workspace locale viene distrutto.
Le comunicazioni tra i workspace avvengono solamente mediante copia dei valori delle variabili in ingresso ed in uscita.
Esempi con le Matrici
- a ora è una matrice 2x2, ‘;’ separa le righe, virgola (opzionalmente separa elementi (ma basta lo spazio) restituisce il valore della variabile
- elementi possono essere espressioni
- Notazione con ( ) per accedere a elementi di una matrice. Us valore assoluto NB: vettore è sa (testo) per includere nuovi elementi : elementi non assegnati sono nulli
- matrice trasposta (scambiate righe e colonne)
- somma di matrici, elemento per elemento ( sottrazione con -simile)
- il ‘;’ blocca l’output, ma non impedisce la valutazione
a = 1 2 3 4
a = 1 2 3 4
x = -1.30000 1.73205 0.60000
b = 1 3 2 4
c = 2 5 5 8
y = -1
x = -1 0 2 0
x=sqrt(3)
- (1+2)/5
x(5)=abs(x(1))
c=a+b
b=a’
Informatica B, AA 13/14, Giacomo Boracchi
ARRAY VUOTO
- Un array vuoto si definisce così:
nomeVettore = [ ]
- Può essere anche una forma di dichiarazione di una variabile
>> a = [ ]
>> whos a
Name
Size
Bytes
Class
Attributes
a
0x0
0
Double
CANCELLARE PARTI DI UNA MATRICE
- l’array vuoto [ ] non è assegnabile a singoli elementi di matrice (non si possono creare buchi)
esempio:
>> m(1:3, 1:3) = 1
m
1 1 1
1 1 1
1 1 1
>> m(2,1) = 5
m
1 1 1
5 5 5
1 1 1
>> m(3,4) = [ ]
error !
- È però assegnabile a intere righe o colonne di matrici, che vengono cancellate (ricomprimendo la matrice)
>> m ( : , 2) = [ ]
m
1 1
5 5
1 1
MEMORIZZAZIONE DEGLI ARRAY
Gli array vengono salvati linearmente in memoria
In particolare le matrici sono memorizzate
- per colonna: colonna 1, poi 2, 3 etc…
- ogni colonna memorizzata per índice di riga crescente
- Si può accedere a un array a più dimensioni come se ne avesse una sola
Usando un unico indice si segue l’ordine della memorizzazione
esempio:
>> a =[1 2 3; 4 5 6 ; 7 8 9 , 10 11 12]
a
1 2 3
4 5 6
7 8 9
10 11 12
CONCATENARE I VETTORI
Gli operatori [ e ] permettono di concatenare vettori, purché le dimensioni siano compatibili (devono essere entrambi riga o colonna).
Esempio:
> a [ 1, 2, 3 ] a = [ 1, 2, 3 ]! Attenzione a non lasciare spazi, perché ogni spazio corrisponde a i
> b [a', a+3, a+6] b = [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]Esempio:
> a=[0,7*pi]; > b=[a(2),5,a];a = [0,8]
b = [8.56.0.8]
STRINGHE
Come in C sono array di caratteri.
- I valori vengono assegnati mediante apici singoli ‘
Esempio:
> msg = ‘ciao mamma’; > msg = [msg,’ torno a casa’] msg Ciao mamma torno per cena > msg(1) = ‘C’ msg Ciao mamma torno per cenaLE MATRICI
Le matrici vengono definite affiancando vettori di dimensioni compatibil
- Usiamo sempre gli operatori [ ]
- L’operatore di trasposizione scambia righe con colonne
Esempio:
> a [ 1, 2, 3, 4 ] a = 1 2 3 4a' 1 3 2 4
- Perché dei vettori possano essere concatenati occorre che le loro dimensioni siano consistenti.