Sei sulla pagina 1di 37

Matlab - 1

Introduzione

Slide basate sul corso di C. Blundo


Cosa è Matlab – 1
È un ambiente di calcolo
scientifico con funzioni
altamente specializzate

È un linguaggio di
programmazione

È un ambiente grafico
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 2
Cosa è Matlab – 2
Matlab integra
 Calcolo

 Visualizzazione

 Programmazione

in un ambiente facile da usare


dove i problemi e le soluzioni sono
espresse in una notazione
matematica familiare
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 3
In pratica …

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 4
Cloni Matlab
Octave
 http://www.octave.org/
 Linux
 Windows (95, NT, 2000)
 Mac OS X
Scilab
 http://www.scilab.org/
 Linux
 Windows (9X, NT, 2000,XP)
 Mac OS X

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 5
Altre caratteristiche di Matlab
–1

Esecuzione di programmi esterni


 eventuale risultato disponibile nella
finestra comandi (Command Window)
Cover function
 import/export di dati da e per altri
ambienti
Figure window
 Gestione grafici bi/tridimensionali
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 6
Altre caratteristiche di Matlab
–2

Help system
 Completa navigazione in un help in
linea

Application Program Interface (API)


 Interfaccia (libreria) per elaborazioni
sincrone con programmi scritti in altri
linguaggi di programmazione (C,
Fortran, Java, …)
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 7
Argomenti trattati nel
corso
Matlab come calcolatrice
Comandi di base
Vettori e matrici
Operazioni su vettori
File .m e funzioni
Programmare Matlab
Grafici
Calcolo simbolico
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 8
Come interagire con
Matlab
Tutti i comandi che Matlab deve
eseguire vengono indicati nella “Finestra
Comandi” (Command Window)

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 9
Matlab come calcolatrice –
1
Per usare Matlab come
calcolatrice, si inseriscono i
comandi dopo il prompt >>
Ad esempio:

>> 2+2 >> log(5) >> cos(pi)


ans = 4 ans ans = -1
=1.6094

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 10
Matlab come calcolatrice –
2
Matlab normalmente stampa solo
le prime 4 cifre decimali, ma in
realtà ne memorizza molte di più.
Per vederle tutte:
>> format long
>> log(5)
ans =1.60943791243410

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 11
Uso della Command
History

Cliccando due volte su una riga


della Command History il comando
viene automaticamente ripetuto
nella Command Window
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 12
Format
format short
 4 cifre decimali 39.2157
format long
 16 cifre decimali

17.1234567890101112
format short e
 5 cifre (4 decimali) con esponente

 3.1232e+03
format long e
 16 cifre (15 decimali) con

esponente
 7.1234567890101112e-04
format bank
 2 cifre decimali 126.36

format rat
 approsimazione razionale 4/3

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 13
Soppressione dell’output
Per sopprime l’output basta far
seguire all’espressione che
digitiamo dopo il prompt comandi
il punto e virgola (;)
 Il comando >>
(calcolo)
3 + 4 verrà comunque
eseguito ans = 7
>> 3 + 4;
>>

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 14
Aiuto in Matlab
Matlab ha un ricco help in linea. Per
accedere alle informazioni, basta
digitare help nella finestra dei comandi:
>> help
HELP topics:
matlab\general - General purpose commands.
matlab\elmat - Elementary matrices and matrix
manipulation.
matlab\elfun - Elementary math functions.
….
For more help on directory/topic, type "help topic".

A.A. For command


2010/2011 -- syntax information,
Laboratorio typeper
di Informatica "help syntax".
GPersiano Fisici 15
Aiuto su un argomento
specifico
>> help log
LOG Natural logarithm.
LOG(X) is the natural logarithm of the elements of X.
Complex results are produced if X is not positive.
See also LOG2, LOG10, EXP, LOGM.

>> help sum


SUM Sum of elements.
For vectors, SUM(X) is the sum of the elements of X. For
matrices, SUM(X) is a row vector with the sum over each
column.

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 16
Un altro tipo di aiuto
Per cercare informazioni su una particolare parola
chiave, si usa il comando lookfor
>> lookfor logarithm
LOGSPACE Logarithmically spaced vector.
LOG Natural logarithm.
LOG10 Common (base 10) logarithm.
LOG2 Base 2 logarithm and dissect floating point
number.
BETALN Logarithm of beta function.
GAMMALN Logarithm of gamma function.
LOGM Matrix logarithm.
REALLOG Real logarithm.
L’output di lookfor contiene i nomi di tutte le funzioni
che presentano la parola “logarithm” nel loro help
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 17
Variabili in Matlab – 1
Una variabile è un nome simbolico
associato ad un valore
 un posto dove Matlab memorizza il
risultato di un calcolo
Con Matlab non dobbiamo
 assegnare un tipo alla variabile (intero,
decimale, stringa, record, …)
 assegnare una dimensione (grandezza) alla
variabile

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 18
Variabili in Matlab – 2
Una variabile consiste di una lettera
seguita da lettere, numeri o underscore
_
Una variabile può essere lunga la
massimo 31 caratteri
La variabile ans contiene il risultato “più
recente” calcolato con Matlab
Attenzione, le variabili in Matlab sono
case sensitive: a e A sono variabili
differenti
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 19
Esempi
>> x=3
>> a=5; x=3
>> b=9; >> y=4
y=4
>> z=a+b+sin(pi/4);
>> z=x+y
>> z
z =7
z =14.7071 >>
>>

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 20
Le variabili i e j
Se le variabili i e j non sono assegnate,
Matlab le considera come unità
immaginaria >> i=3;
>> i
>> i
ans =0 + 1.0000i
i=3
>> j
>> j
ans = 0 + 1.0000i
ans = 0 + 1.0000i

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 21
Operatore di assegnazione

Una sola variabile nel lato


sinistro
 x+2=20
 6=x
x=y+5
 solo se y ha un valore assegnato
x=x+2
 incrementa x di 2
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 22
Il Workspace di Matlab
Consiste dell’insieme delle variabili
utilizzate durante una sessione di
Matlab
 Sono elencate tutte le variabili
utilizzate
 Un doppio click visualizza il loro
contenuto
Nella Command Window possiamo
vedere le variabili utilizzate e lo
spazio cheLaboratorio
A.A. 2010/2011 --
occupano con i comandi
di Informatica per
who e whos
GPersiano Fisici 23
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 24
Cancellare una variabile
Per eliminare una variabile v dal
workpace si usa, nella Command
Window, il comando clear v
Il comando clear cancella tutte le
variabili dal workspace
Le variabili possono anche essere
cancellate tramite la finestra
Workspace
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 25
Operatori

+ addizione
- sottrazione
* moltiplicazione
/ divisione
^ elevamento a potenza

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 26
Costanti – 1
ans
valore ultima operazione eseguita non
assegnata ad una variabile
i, j
unità immaginaria
pi
π, 3.14159265...
eps
precisione di macchina

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 27
Costanti – 2
realmax
massimo numero macchina positivo
realmin
minimo numero macchina positivo
Inf
∞, ossia un numero maggiore di realmax
NaN
Not a Number, tipicamente il risultato
dell’espressione 0/0

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 28
Esempi
>> 0/0
>> realmax warning: divide by zero

ans = 1.7977e+308 ans = NaN


>> 1/0
warning: Divide by zero
ans = Inf
>> realmin
ans =2.2251e-308 >> grande=exp(log(realmax))
grande =1.7977e+308
>> enorme=pi*grande
enorme =Inf

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 29
Esercizi
Avviare e chiudere una sessione di
Matlab

Con x=5 ed y=3, eseguire i seguenti


calcoli

1) u = x + y 2) v = x*u
3) w = x/y 4) z = w3
5) xy2/(x-y) 6) 3x/2y
7) r = 3xy/2 8) t = x5/(x5-1)
9) r/t 10) e = (5+4i)/(5-4i)
A.A. 2010/2011 -- Laboratorio di Informatica per
11) 7x +4x0.66
GPersiano 1/3
11) (1-1/x6)-1
Fisici 30
Funzioni matematiche di
base –1
round(x)
 Approssima all’intero più vicino
ceil(x)
 Parte intera superiore
floor(x)
 Parte intera inferiore
fix(x)
 Considera solo la parte intera
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 31
Funzioni matematiche di
base –2

sign(x)
 Restituisce 1 se x è positivo, zero
altrimenti
>> x=3.4;
>> [round(x) ceil(x) floor(x) fix(x)
sign(x)]
ans =
3 4 3 3 1
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 32
Funzioni matematiche di
base –3

sqrt(x), abs(x), exp(x) → [√x, |x|,


ex]
real(x), imag(x), conj(x)
 Parte reale, parte immaginaria,
complesso coniugato di x
log(x), log10(x)
sin(x), cos(x), tan(x)
asin(x), acos(x), atan(x)
A.A. 2010/2011 -- Laboratorio di Informatica per
GPersiano Fisici 33
Esercizio – 1
Con x=10 ed y=3,
 eseguire i seguenti calcoli:
1) r=8 sin y 2) s= 5 sin(2y)
3) z= sin x 4) 3πx2
5) w=2(sin x)/5 6) ex+1
7) 2+cos(2πx) 8) t=5 tan(ex/2)
9) √x + 4 + sin(0.2π) + e2

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 34
Esercizi – 2

Il volume di una sfera è dato da


V=4πr3/3, dove r è il raggio.
Utilizzare Matlab per calcolare il
raggio di una sfera che ha il
volume del 30% più grande di
quello di una sfera di raggio 5

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 35
Esercizi – 3
Supporre che
x=-7-5i y=4+3i

Calcolare
1. x+y
2. xy
3. x/y

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 36
Esercizi – 4
La legge dei gas perfetti mette in relazione la pressione P, il
volume V, la temperatura T, e la quantità di gas
PV=nRT
R è la costante dei gas perfetti.
Un serbatoio di gas mantiene la pressione costante a 2.2
atmosfere.
In dicembre con un a temperatura di -15C, il volume nel
serbatoio è 28500dm3. Quale sarà il volume a 31C?
Nota che n,R,P sono costanti e K=C+273.2

A.A. 2010/2011 -- Laboratorio di Informatica per


GPersiano Fisici 37

Potrebbero piacerti anche