Annunci AdSense






[¯|¯] Una breve introduzione a Matlab

luglio 9th, 2018 | by Marco Giancola |

matlab,matrix laboratory

Introduzione

Il MATLAB della MathWorks è uno dei più diffusi software di calcolo. La prima versione, realizzata alla fine degli anni '70 da Cleve Moler, era destinata principalmente alla gestione di matrici, difatti MATLAB è un acronimo che sta per MATrix LABoratory (laboratorio della matrice). Una delle ragioni del successo di questo strumento è insita nel fatto che i suoi comandi sono molto simili al linguaggio matematico. Le sue principali funzionalità sono:

  • calcolo numerico e simbolico,
  • analisi e visualizzazione di dati,
  • programmazione e sviluppo di algoritmi,
  • realizzazione di interfacce che consentono di utilizzare programmi scritti anche in altri linguaggi.

MATLAB può essere integrato con altri software prodotti dalla MathWorks, come ad esempio Simulink, un ambiente per la modellazione, simulazione e analisi di sistemi dinamici.

Interfaccia grafica

L’interfaccia grafica di MATLAB è costituita principalmente da 3 finestre:

  • la finestra dei comandi, dove è possibile digitare i comandi e visualizzare immediatamente i risultati premendo il tasto “Invio”;
  • la finestra grafica, che mostra grafici e disegni;
  • la finestra di edit, che viene usata per creare e modificare i file .m, ossia quei file che contengono programmi scritti con la sintassi del MATLAB. Tale finestra appare digitando “edit” nella finestra dei comandi.

Alcuni dei principali comandi del MATLAB sono:

clc: “pulisce” la finestra dei comandi.
clear: cancella tutte le variabili in memoria o una in particolare se specificata.
clf: “pulisce” la finestra grafica.
clock: fornisce l'ora e la data corrente.
date: fornisce la data corrente.
edit: fa apparire la finestra di edit.
exit: consente di uscire da MATLAB.
help: fornisce aiuto sull'argomento specificato.
load: carica in memoria le variabili presenti nel file specificato.
plot: genera un grafico cartesiano bidimensionale.
print: stampa ciò che appare nella finestra grafica.
quit: consente di uscire da MATLAB.
save: salva tutte le variabili in memoria nel file specificato.
who: elenca le variabili in memoria.
whos: elenca le variabili e le loro dimensioni.

Vettori e matrici

In MATLAB vettori e matrici si scrivono usando le parentesi quadre e separando gli elementi di ciascuna riga con spazi o virgole e le righe con “;” (oppure andando a capo).
Vediamo alcuni esempi:

vettore riga: x = [1, 2, 3] oppure x = [1 2 3];

vettore colonna: y = [1; 4; 7];

matrice: A = [1 2 3; 4 5 6; 7 8 9] oppure

matlab,matrix laboratory

MATLAB mette a disposizione varie funzioni per la creazione e manipolazione di matrici e vettori; alcune di esse sono:

det: calcola il determinante di una matrice quadrata;
diag(X): se X è un vettore con n elementi, produce una matrice quadrata diagonale n × n con gli elementi di X sulla diagonale; se invece X è una matrice quadrata n × n, produce un vettore di n elementi pari a quelli della diagonale di X;
eye(n): genera la matrice identità n × n;
inv: calcola l'inversa di una matrice quadrata;
length: determina il numero di elementi di un vettore;
ones(m,n): genera una matrice m × n di 1;
rand(m,n): genera una matrice m × n di valori casuali compresi tra 0 e 1;
size: determina le dimensioni di una matrice;
zeros(m,n): genera una matrice m × n di 0.

Il carattere “:” può essere usato per generare vettori, come mostrato nei seguenti esempi:
t = 1:1:5 (o più semplicemente t = 1:5) equivale a t = [1 2 3 4 5];
t = 0:0.2:1 equivale a t = [0 0.2 0.4 0.6 0.8 1];
t = 2:-0.2:1 equivale a t = [2 1.8 1.6 1.4 1.2 1].








Funzioni e operatori

MATLAB possiede una ricca collezione di funzioni e operatori matematici; i più comuni sono:

somma: +
sottrazione: -
moltiplicazione: *
divisione: /
elevamento a potenza: ^
esponenziale: exp(x)
logaritmo naturale: log(x)
logaritmo decimale: log10(x)
radice quadrata: sqrt(x)
seno: sin(x)
coseno: cos(x)
tangente: tan(x)
arcoseno: asin(x)
arcocoseno: acos(x)
arcotangente: atan(x)
seno ipebolico: sinh(x)
coseno iperbolico: cosh(x)
tangente iperbolica: tanh(x)
arcoseno iperbolico: asinh(x)
arcocoseno iperbolico: acosh(x)
segno: sign(x)
valore assoluto: abs(x)
arrotondamento: round(x)
troncamento: fix(x)
parte reale: real(z)
parte immaginaria: imag(z)
complesso coniugato: conj(z)

Grafici

La funzione plot consente di creare grafici bidimensionali ricevendo in input due vettori, (x1, x2,..., xn) e (y1, y2,..., yn), e disegnando la poligonale che unisce i punti (xi, yi) con i = 1, ...,n. Per tracciare il grafico di una qualsiasi funzione f, occorre pertanto:

  1. creare un opportuno vettore x contenente le ascisse x1, x2,..., xn,
  2. passare x a f per ottenere un vettore y contenente le ordinate yi = f(xi) con i = 1 … n,
  3. usare la funzione plot sui due vettori x e y: plot(x,y).

Ad esempio, le istruzioni:

x = -10:0.01:10;
y = sin(x);
plot(x,y)
digitate nella finestra dei comandi, dopo aver premuto “Invio”, fanno apparire il grafico della funzione sin(x) nell’intervallo
[-10, 10]:

matlab,matrix laboratory

Programmazione

Il linguaggio del MATLAB è un linguaggio di programmazione strutturata come, ad esempio, C, Pascal, Fortran, Ada e ALGOL. Proprio come tali linguaggi, esso possiede strutture condizionali (if-else e switch-case) e cicliche (for e while), nonché gli operatori relazionali e logici:

maggiore: >
minore: <
maggiore o uguale: >=
minore o uguale: <=
uguale: ==
diverso: ~=
and: &
or: |
not: ~

Come già detto, il codice di un programma MATLAB va scritto nella finestra di edit e salvato in un file .m. Per eseguirlo, occorre digitare nella finestra dei comandi “run” seguito dal nome del file privo dell’estensione.
Contrariamente alla maggior parte dei linguaggi di programmazione, per dichiarare una variabile in MATLAB, non occorre specificare a quale tipo di dato (numero intero, non intero, valore booleano, carattere, stringa, eccetera) appartiene, ma è sufficiente scrivere il nome della variabile seguito da “=” e il valore che le si vuole assegnare. Nel caso in cui il valore sia un carattere o una stringa, è necessario specificarlo inserendolo tra apici.
MATLAB è case-sensitive e accetta nomi di variabili lunghi fino ad un massimo di 19 caratteri alfanumerici, con il primo obbligatoriamente alfabetico.
Anche nei programmi MATLAB è possibile inserire dei commenti: ogni riga del commento deve essere preceduta dal carattere “%”.

Marco Giancola

No TweetBacks yet. (Be the first to Tweet this post)

Tags: , ,

Articoli correlati

Commenta l'esercizio