• 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

antonino.polimeno@unipd.it

(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

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

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

LE RETTE SONO LINEE CHE MANTENGONO LA STESSA DIREZIONE SENZA INIZIO

[r]