MATLAB - 1
Da Wikipedia
MATLAB (abbreviazione di Matrix Laboratory) è un ambiente
per il calcolo numerico e l'analisi statistica scritto in C, che
comprende anche l'omonimo linguaggio di programmazione
creato dalla MathWorks.
MATLAB consente di manipolare matrici, visualizzare funzioni e
dati, implementare algoritmi, creare interfacce utente, e
interfacciarsi con altri programmi.
MATLAB è usato da milioni di persone nell'industria e nelle
università per via dei suoi numerosi strumenti a supporto dei
più disparati campi di studio applicati e funziona su diversi
sistemi operativi, tra cui Windows, Mac OS, GNU/Linux e Unix.
MATLAB - 2
− Ambiente software per il
calcolo numerico
− Esempi:
− algebra lineare
− equazioni non lineari
− equazioni differenziali
ordinarie
− equazioni differenziali
alle derivate parziali
− ottimizzazione (minimi,
massimi)
− trasformate
− analisi di dati
− modelling di sistemi
− Software alternativi
− SageMath (Linux)
http://www.sagemath.org/index.html
− Scilab (Windows, Mac, Linux)
http://www.scilab.org/
− Octave (Linux)
https://www.gnu.org/software/octave/
− Software complementari
− Mathematica (simbolico, proprietario,
Winfows, Mac, Linux)
https://www.wolfram.com/mathematica/
− Maple (simbolico, proprietario, Winfows,
Mac, Linux)
http://www.maplesoft.com/products/maple/
Workspace (lista delle variabili)
Command window (istruzioni e risultati)
File (lista dei file:
script, dati etc.)
MATLAB - 3
MATLAB - 4
− Help e search
− Manuali online:
− getstart.pdf (206 pagine)
− math pdf (642 pagine)
− matlab_prog.pdf (1218 pagine - LOTR ne ha 1178, la
Bibbia 1281 … )
help
search
https://it.mathworks.com/help/matlab/getting-started-with-matlab.html
Variabili - 1
− Le variabili sono immagazzinate come matrici numeriche, di
vario tipo: int8, uint8, int16, uint16, double.
− Tutte le operazioni sono effettuate in doppia precisione (8
byte per numero)
− Sono possibili tipi con meno di 2 byte per numero (utili per lo
storage dei dati)
− Comandi utili:
− who, whos, per vedere le variabili nel workspace
− save, load, salvare or scaricare variabili in un file *.mat
− clear, per svuotare il workspace
− Nessuna dichiarazione o inizializzazione
− Definizione diretta nella command window
>> x=12; % x ha il valore 12
Variabili - 2
Matlab
prompt
operatore assign
(assegnazione)
niente output
visuale
commento
N.B. Maiuscole e minuscole sono distinte! A e a sono variabili diverse
Workspace
>> b=10;
>> c=a+b
c =
22
>> whos
Name Size Bytes
Class
a 1x1 8
double array
b 1x1 8
double array
c 1x1 8
double array
Grand total is 3 elements using 24 bytes
>>
>> clear a b; % delete a and b from
workspace
>> whos
>> clear all; % delete all variables from
workspace
>> whos
operazione
controllo
clear workspace
Matrici - 1
− Definizione
>>A=[1 2 3; 4 5 6; 7 8 9]; matrice 3x3 definita
come riga;riga;riga
− Matrici speciali
− zeros(r,c), ones(r,c), eye(r,c),
rand(r,c) …
− Valori degli elementi di matrice
− A(2,3) dà il valore dell’elemento 2,3, cioè 6
− A(8) dà il valore dell’ottavo elemento (seguendo le colonne), cioè 8
− A(:,2) dà la seconda colonna
Matrici - 2
− Operazioni di base sulle matrici
− +,-,*,/,^,’,sqrt,sin,cos, etc.
− Per operare sugli elementi usate il ‘dot’:
− .*, ./, .^ etc.
− size(A) dimensione
− sum(A) vettore riga con le somme delle colonne
− sum(sum(A)) somma di tutti gli elementi
− help elmat per altre operazioni
Operazioni su matrici
>> A' trasposta coniugata
>> B*A moltiplicazione
>> B.*A moltiplicazione fra elementi
>> B/A ‘divisione’ (vedi oltre)
>> B./A divisione fra elementi
>>[B A] unione di matrice (in orizzontale)
>>[B; A] unione di matrice (in verticale)
Script, function - 1
→L’editor di Matlab permette di
creare e modificare script
(programmi che contengono
una serie di comandi Matlab)
− Uno script può essere salvato
come file *.m ed essere
richiamato ed eseguito in ogni
momento
− Come quasi tutti i linguaggi di programmazione, si possono creare insiemi di comandi ‘autonomi’ (function) che possono essere poi essere utilizzati in più programmi (script)
− Le funzioni accettano variabili in input e restituiscono altre variabili in output
− Le funzioni non cambiano le variabili nel workspace
− Le funzioni hanno la keyword function
− Le funzioni sono scritte nell’editor e salvate come file *.m
− Il filename di una funzione è il nome con cui viene chiamata
− Il comando open permette di aprire ed editare una funzione, anche le funzioni ‘native‘ (built-in).
Script, function - 2
Script, function - 3
Grafica
>> figure % create new figure
>> t=0:pi/12:8*pi;
>> y=cos(t);
>> plot(t,y)
>> x=-2:.1:2;
>> y=-3:.1:3;
>> [X,Y]=meshgrid(x,y); % define the grid
>> Z=X.*exp(-X.^2-Y.^2);
>> surf(X,Y,Z)