Anteprima
Vedrai una selezione di 8 pagine su 31
Programmazione in matlab: Appunti di Informatica Pag. 1 Programmazione in matlab: Appunti di Informatica Pag. 2
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Programmazione in matlab: Appunti di Informatica Pag. 6
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Programmazione in matlab: Appunti di Informatica Pag. 11
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Programmazione in matlab: Appunti di Informatica Pag. 16
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Programmazione in matlab: Appunti di Informatica Pag. 21
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Programmazione in matlab: Appunti di Informatica Pag. 26
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Programmazione in matlab: Appunti di Informatica Pag. 31
1 su 31
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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)
  • 1 se x ha solo elementi di tipo double, con parte immaginaria nulla, 0 altrimenti

  • ischar(x)
  • 1 se x è di tipo char, 0 altrimenti

  • isnumeric(x)
  • 1 se x è di tipo double, con parte immaginaria nulla, 0 altrimenti

  • isfinite(x)
  • un array delle stesse dimensioni di x con 1 dove gli elementi di x sono finiti, 0 altrimenti

  • isinf(x)
  • un array delle stesse dimensioni di x con 1 dove gli elementi di x sono ‘inf’, 0 altrimenti

  • isempty(x)
  • 1 se x è vuoto, 0 altrimenti

  • isnan(x)
  • un array delle stesse dimensioni di x con 1 dove gli elementi di x sono ‘NaN’, 0 altrimenti

  • any(x)
  • 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.

  • all(x)
  • 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. (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 cena

LE 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 4

a' 1 3 2 4

- Perché dei vettori possano essere concatenati occorre che le loro dimensioni siano consistenti.

Dettagli
Publisher
A.A. 2014-2015
31 pagine
2 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Andrea P. di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Boracchi Giacomo.