• Non ci sono risultati.

MATLAB - Introduzione

N/A
N/A
Protected

Academic year: 2021

Condividi "MATLAB - Introduzione"

Copied!
15
0
0

Testo completo

(1)

MATLAB - Introduzione

Antonino Polimeno

[email protected]

(2)

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.

(3)

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/

(4)

Workspace

(lista delle variabili)

Command window (istruzioni e risultati)

File (lista dei file:

script, dati etc.)

MATLAB - 3

(5)

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

(6)

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

(7)

− 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

(8)

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

(9)

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

(10)

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

(11)

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)

(12)

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

(13)

− 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

(14)

Script, function - 3

(15)

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)

Riferimenti

Documenti correlati

[r]

 Formula di Taylor per funzioni Formula di Taylor per funzioni di più

LE RETTE SONO LINEE CHE MANTENGONO LA STESSA DIREZIONE SENZA INIZIO

Un metodo alternativo per stabilire il carattere di una forma quadratica (definita o semidefinita) si basa sull’analisi del segno dei minori principali della matrice associata

Come abbiamo visto (vedi lezione: Rappresentazione di funzioni di due variabili nello spazio cartesiano) le funzioni di due variabili si possono rappresentare nello spazio

[r]

VARIABILI LOCALI, cioè sono “note” (utilizzabili) solo all’interno delle funzione nella quale sono state definite Anche i parametri di una funzione sono variabili locali!.. C

Come per le funzioni ad una sola variabile si definisce DOMINIO DI UNA FUNZIONE A due VARIABILI l'insieme dei valori che possono essere attribuiti alle variabili indipendenti