Tag Archives: giuseppe ciaburro

Documentazione su Matlab

MATLAB

Per reperire della documentazione su Matlab davvero esauriente è necessario visitare il sito della Mathworks, società distributrice ufficiale del software ala seguente url:

http://www.mathworks.it/it/help/matlab/

A partire dalla pagina principale sarà possibile consultare una serie davvero ricca di documenti che abbracciano i più svariati argomenti, di seguito ne riporto solo una lista sintetica:

  • Getting Started with MATLAB
  • MATLAB Examples
  • Release Notes
  • Functions
  • Language Fundamentals
  • Mathematics
  • Graphics
  • Programming Scripts and Functions
  • Data and File Management
  • GUI Building
  • Advanced Software Development
  • Desktop Environment

Tutta la documentazione è proposta in lingua inglese e si può consultare con il browser online oppure scaricabile in formato pdf per la consultazione offline o per la stampa.

matlab

Ogni argomento viene trattato in modo semplice ed esaustivo con un corredo davvero significativo di esempi per meglio comprendere i concetti appena introdotti.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Cercare file e cartelle in Matlab

MATLAB
E’ possibile cercare file e cartelle in Matlab in modo semplice ed immediato, infatti se si conosce il nome del file che si desidera trovare, basterà iniziare a digitare i primi caratteri del nome nel browser della cartella corrente. Mentre si digita, il browser cartella corrente cerca verso il basso dalla parte superiore della finestra, guardando attraverso tutte le cartelle espanse.

In alternativa, per trovare una serie di caratteri in qualsiasi parte del nome di un file contenuto nel filesystem del computer potremo seguire le seguenti azioni:

  • Fare clic sul pulsante di ricerca nella barra degli strumenti della cartella corrente. La barra degli indirizzi diventa un campo di ricerca.
  • Digitare una parte del nome del file. Il carattere asterisco (*) è un carattere jolly. Ad esempio, per mostrare solo i nomi di file che iniziano con mat e hanno un’estensione .m, tipo mat * .m.
  • Premere Invio.

MATLAB allora visualizza tutti i file all’interno della cartella corrente (comprese le sue sottocartelle) che forniscono un match con il nome del file. Se è stato digitato il percorso completo di una cartella, la cartella diventa la cartella corrente.

matlab

Sarà possibile poi cancellare i risultati e visualizzare tutti gli elementi nella cartella corrente semplicemente premendo il tasto Esc.

Per aprire la cartella corrente nel browser, se non è già aperta, bisogna effettuare le seguenti operazioni:

  • nella scheda Home, nella sezione Environment, fare clic su Layout.
  • Poi, sotto Show, selezionare la cartella corrente.
  • Per mostrare e nascondere le colonne, o ordinare e raggruppare colonne basterà fare clic, e quindi selezionare un’opzione.

Se si rende necessario effetturae una ricerca avanzata per i file potremo utilizzare lo strumento Trova file che ci permette di:

  • Cercare una stringa specificata nei nomi di file e nei file
  • Includere o escludere tipi di file specificati dalla ricerca
  • Cercare in cartelle specificate
  • Escludere file di grandi dimensioni dalla ricerca

Per effettuare una ricerca avanzata per i file, aprire lo strumento Trova file. Nella scheda Home, nella sezione File, fare clic su Trova file. Inserire i criteri di ricerca nella finestra di dialogo che si apre ed il gioco è fatto.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Il comando lookfor in Matlab

MATLAB

Il comando lookfor in Matlab ci consente di cercare funzioni attraverso una keyword. Ad esempio, MATLAB non ha una funzione chiamata inverse. Così la risposta alla prossima istruzione sarà:

help inverse
inverse.m not found.

Invece digitando:

lookfor inverse

verrà effettuata una ricerca con una dozzina di matchs. Il risultato dipende da quanti toolboxes si è installato sul proprio computer, si otterrà ad esempio come risultato della ricerca qualcosa del tipo:

INVHILB Inverse Hilbert matrix.
ACOSH Inverse hyperbolic cosine.
ERFINV Inverseof the error function.
INV Matrix inverse.
PINV Pseudoinverse.
IFFT Inverse discrete Fourier transform.
IFFT2 Two-dimensional inverse discrete Fourier transform.
ICCEPS Inverse complex cepstrum.
IDCT Inverse discrete cosine transform.

dove ogni riga restituita rappresenta un link ad informazioni contenute nella documentazione di Matlab e basterà cliccarsi sopra per accedere alla risorsa. Aggiungendo l’opzione -all al comando lookfor, come indicato nella seguente istruzione:

lookfor -all

si ricercherà l’intero input,e non solo la prima linea indicata.

matlab

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

La Finestra Help in Matlab

MATLAB

In MATLAB è disponibile una finestra Help, attivabile su PCs e Macs selezionando l’opzione Help Window nel menu Help, o cliccando sul punto interrogativo sulla sbarra del menu. E’ anche disponibile su tutti i computer digitando:

helpwin

Per usare la finestra d’aiuto su un particolare tema, digitare:

helpwin topic

La finestra d’aiuto accede alle stesse informazioni come il comando HELP, ma l’interfaccia della finestra prevede collegamenti agli altri temi.

matlab

Attraverso la finsestra Help sarà possibile consultare tutta la documentazione chje viene fornita a corredo del software; in particolare sarà possibile consultare la documentazione relativa ad ogni toolbox installato sul nostro computer.

Inoltre, in coerenza con quanto fornito dal nostro sistema operativo, sarà possibile altresì effettuare delle ricerche per parola chiave, in modo da velocizzare la ricerca delle informazioni che ci necessitano.

Mentre come accade per ogni aiuto in linea sarà possibile consultare la documentazione cercando le informazioni dall’indice del menu.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Il comando Help in Matlab

MATLAB

Ci sono diversi modi diversi per accedere ad informazioni online sulle funzioni di MATLAB, uno di questi e forse quello più immediato è il comando Help in Matlab. Possiamo appunto avere informazioni sull’uso del software attraverso i seguenti servizi:

  • Il comando HELP
  •  La finestra di aiuto
  •  Il MATLAB Help Desk
  •  Le pagine online
  •  Il Comando Help

Il comando Help, come già anticipato,  rappresenta il modo più semplice per determinare la sintassi ed il comportamento di una particolare funzione in quanto le informazioni sono esposte direttamente nella finestra di comando. Per esempio digitando:

help magic

si ottiene il seguente risultato:

MAGIC Magic square.
MAGIC(N) is an N-by-N matrix constructed from
the integers 1 through N^2 with equal row,
column, and diagonal sums.
Produces valid magic squares for N = 1,3,4,5….

Il MATLAB help usa caratteri maiuscoli per i nomi di funzioni e variabili per fare si che siano messe in rilievo dal resto del testo. Quando si digita il nome di una funzione ,è  bene utilizzare sempre i corrispondenti caratteri minuscoli perchè MATLAB è case sensible e tutte le funzioni sono in lowercase.

Tutte le funzioni di MATLAB sono organizzate in gruppi logici, e la struttura dell’elenco di MATLAB è basata su questo raggruppamento. Per esempio, tutte le funzioni lineari algebriche risiedono nell’elenco matfun.

matlab

Per elencare i nomi di tutti le funzioni in quell’elenco, con una breve descrizione digitare:

help matfun

ottenendo in questo modo al prompt di matlab:

Matrix functions – numerical linear algebra.
Matrix analysis. norm – Matrix or vector norm. normest – Estimate the matrix
2-norm …

Digitando al prompt di Matlab il seguente comnado:

help

si ottiene l’elenco completo di tutte le funzioni inserite nella distribuzione di Matlab, con una descrizione della categoria della funzione.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Visualizzazione di una funzione in due variabili in Matlab

MATLAB

Per visualizzare una funzione di due variabile in Matlab, ad esempio la funzione z = f (x,y), è necessario innanzitutto generare due matrici X e Y costituite di righe e colonne ripetute, rispettivamente, sul dominio della funzione.

Poi bisogna utilizzare queste matrici per valutare e tracciare la funzione. La funzione meshgrid trasforma nel dominio specifico, un singolo vettore o due vettori x e y in matrici X e Y per usarle nella valutazione della funzione di due variabili.

Le righe di X sono copie del vettore x e le colonne di Y sono copie del vettore y. Per valutare la funzione bidimensionale sin(r)/r, lungo le due direzioni x e y si procede nel modo seguente:

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)

matlab

In questo esempio, R rappresenta la distanza dall’ origine che è al centro della matrice. Aggiungere il valore eps evita l’indeterminato 0/0 che altrimenti si verrebbe a verificare all’origine.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Grafici di matrici in Matlab

MATLAB

In questa lezione impareremo a realizzare dei grafici di matrici in Matlab. Quando si invoca la funzione plot con argomento una singola matrice:

plot(Y)

Matlab traccia una curva per ogni colonna della matrice utilizzando come indice per l’asse x il numero di righe della matrice. Ad esempio:

Z=peaks;

fornisce una matrice 49X49 ottenuta valutando una funzione di due variabili. Il diagramma della matrice ottenibile attraverso il seguente comando:

plot(Z)

produce un grafico di 49 linee, che di seguito riportiamo.

matlab

Se il comando plot è usato con due argomenti e se X e Y hanno più di una riga o una colonna allora si possono verificare le seguenti condizioni:

 

  •  Se Y è una matrice e X un vettore, plot(X,Y) traccia un diagramma delle righe o delle colonne di Y verso il vettore X, utilizzando colori o tipi di linea differenti per ogni curva.
  • Se X è una matrice ed Y un vettore, plot(X,Y) traccia una curva per ogni riga o colonna di X rispetto ad Y.

Ad esempio, diagrammando la matrice peaks rispetto al vettore 1:length(peaks) si ottiene un diagramma ruotato rispetto a quello precedente:

Y=1:length(peaks);
plot(peaks,Y)

In questo modo si ottiene il seguente grafico.

matlab

Se infine X ed Y sono matrici delle stesse dimensioni allora plot(X,Y) fornisce un diagramma delle colonne di X rispetto alle colonne di Y.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Stampa dei grafici in Matlab

MATLAB

La funzione print ci consente la stampa dei grafici in Matlab, il suo utilizzo è particolarmente semplice in quanto la sua sintassi risulta immediata:

print(argomento1, argomento2,..)

L’opzione PRINT sul menu file ed il comando print stampano la figura creata da MATLAB. Il menu print apre una finestra di dialogo che offre le opzioni di stampa di default. Il comando print prevede invece più flessibilità nel tipo di output e permette di controllare la stampa da M-file.

Il risultato può essere trasmesso direttamente alla stampante di default o può essere immagazzinato in un specifico file. Una larga varietà di configurazioni di stampa, incluso Poscript è disponibile.

Per esempio, il seguente comando salva i contenuti della finestra della figura corrente come, color Encapsulated Level 2 PostScript nel file chiamato figura.eps:

print -depsc2 figura.eps

matlab

E’ importante sapere le capacità della stampante prima di usare il comando stampa. Per esempio, i file Level 2 Postscript generalmente sono più piccoli e sono più rapidi da stampare rispetto a Level 1 Postscript files. Comunque, non tutte le Stampanti postscript sostengono Level 2, è importante quindi prima di mandare in stampa un grafico conoscere le potenzialità della propria stampante.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Grafici di numeri complessi in Matlab

MATLAB

E’ possibile creare dei grafici di numeri complessi in Matlab in modo semplice ed immediato. Se Z è un vettore di numeri complessi, Matlab traccia la parte immaginaria in funzione di quella reale. Allora digitando,

plot(Z)

dove Z è un vettore complesso o matrice, non avremo fatto altro che digitare:

plot(real(Z),imag(Z))

Per esempio:

t = 0:pi/8:2*pi;
plot(exp(i*t), ‘ -o ‘)

traccia un poligono di 16 lati con cerchietti ai vertici.

matlab

Quando i dati da plottare sono complessi ad esempio nel caso due numeri complessi x ed y, il comando plot(x,y), traccia una curva utilizzando solo ed esclusivamente la parte reale dei numeri mentre la parte immaginaria è ignorata eccetto quando il tracciato è dato da un singolo argomento complesso. Per questo caso speciale, il comando da utilizzare per tracciare la parte reale contro la parte immaginaria è shortcut .

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Come salvare dati in immagini con Matlab

MATLAB

In questa lezione impareremo a salvare dati in immagini con Matlab. Per fare questo utilizzeremo la funzione imwrite che scrive i dati immagine contenuti nella matrice A nel file specificato da filename, deducendo il formato di file dall’estensione. La funzione imwrite crea il nuovo file nella cartella corrente.

La sitassi del comando è la seguente:

imwrite(A,filename)

dove A è la matrice di dati di tipo immagine e filename è il nome del file in cui vogliamo salvare l’immagine. La profondità di bit dell’immagine di output dipende dal tipo di dati contenuti in A e dal formato del file. Per la maggior parte dei formati accade che:

  •  Se A contiene dati del tipo uint8, allora imwrite fornisce valori a 8 bit.
  •  Se A è del tipo di dati UINT16 e il formato del file di output supporta i dati a 16 bit (JPEG, PNG, e TIFF), allora  imwrite fornisce valori a 16 bit. Se il formato del file di output non supporta i dati a 16 bit, la  funzione imwrite fornisce un segnale di errore.
  •  Se A è un’immagine a scala di grigi o del tipo RGB con dati del tipo doppia o singola precisione, allora  la funzione imwrite assume la gamma dinamica nell’intervallo [0,1] e bilancia automaticamente i dati tra 0 e 255 prima di scrivere il file con valori a 8 bit.
  •  Se A è del tipo di dati logico, allora  imwrite assume che il dato è un’immagine binaria e lo scrive nel file con una profondità di bit pari a 1, se il formato lo consente. Formati di immagini del tipo BMP, PNG o TIFF accettano immagini binarie come array di input.
  • Se A contiene dati di immagine indicizzati, è necessario inoltre specificare l’argomento mappa di input.

matlab

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Come importare immagini in Matlab

MATLAB

Per importare immagini in Matlab è necessario utilizzare la funzione imread che per l’appunto ci permette di importare un’immagine, depositata nel filesystem del nostro computer, nel workspace di Matlab. Vediamo allora la sintassi della funzione:

imread(‘nomefile.estensione’);

In questo modo l’immagine sarà allocata nella variabile ans, nel caso in cui volessimo attribuirla ad una specifica variabile scriveremo:

A = imread(‘nomefile.estensione’);

Così la variabile A sarà costituita da una matrice  di dimensioni mxn, con m numero di righe che rappresenta l’altezza, in pixel, dell’immagine) mentre n numero di colonne che rappresenta la larghezza, in pixel, dell’immagine. Ogni cella della matrice risulterà invocabile con il seguente comando:

A(x,y)

dove x e y sono le coordinate del pixel nell’immagine. La cella invocata conterrà il valore associato a quel pixel se la nostra immagine è in scala di grigi in bianco e nero.

matlab

Matlab supporta i seguenti formati di immagini:

  • BMP (Microsoft® Windows® Bitmap)
  • GIF (Graphics Interchange Files)
  • HDF (Hierarchical Data Format)
  • JPEG (Joint Photographic Experts Group)
  • PCX (Paintbrush)
  • PNG (Portable Network Graphics)
  • TIFF (Tagged Image File Format)
  • XWD (X Window Dump)

LINK DI APPROFONDIMENTO PER L’ARGOMENTO: