Sei sulla pagina 1di 68

Introduzione al

MATLAB

Esercitazioni di Metodi Numerici


A.A. 2012/2013

Esercitazioni di METODI NUMERICI 2012 -2013

MATLAB una piattaforma per il calcolo


lelaborazione dei dati e la loro visualizzazione.

scientifico,

Il suo nome deriva da MATrix LABoratory ed stato ideato da


Clever Moler, alla fine degli anni 70 per favorire lo sviluppo di
progetti concernenti elaborazioni matriciali.
Sviluppato originariamente nelle librerie di software FORTRAN
scritte da J. Dongarra, C. Moler, G. Stewart, per la risoluzione
di problemi di algebra lineare LINPACK ed EISPACK.
Negli anni 80 divenuto propriet di The MathWorks ed
attualmente ampiamente utilizzato nella didattica e ricerca.

Introduzione al MATLAB

Esercitazioni di METODI NUMERICI 2012 -2013

Il MATLAB un ambiente per il calcolo versatile e dalle molteplici


funzionalit. Il sistema MATLAB composto dalle seguenti parti
principali
AMBIENTE DI SVILUPPO
E un insieme di TOOLS e
FACILITIES che aiutano
per lutilizzo delle funzioni e
files MATLAB. Include le
finestre
di
lavoro
:
Command
Window,
Command History, Editor,
Debugger, Workspace
LINGUAGGIO MATLAB
Il linguaggio di programmazione ad
alto livello consente allutente di
sviluppare agevolmente codici di
calcolo per simulazioni numeriche,
prototipi di vario genere, etc.. con
ottima interfaccia grafica

LIBRERIE MATEMATICHE
E una vasta collezione di
algoritmi computazionali e di
funzioni (i.e. log, exp, Fast
Fourier Transform, funzioni
di Bessel, funzione gamma,
..), .

GRAPHICS
MATLAB
dotato di librerie grafiche
user-friendly per visualizzare
vettori,matrici con grafici. E
dotato di funzioni
per la
visualizzazione di dati in
domini 2D e 3D, Image
processing, animazioni.

MATLAB
MATLAB supportato dai sistemi operativi:Introduzione
Windows,alUnix,
Linux, Macintosh

Esercitazioni di METODI NUMERICI 2012 -2013

TOOLBOX
Oltre
al potente nucleo sono stati creati molteplici
TOOLBOX per MATLAB che ne aumentano le potenzialit.
I TOOLBOX sono librerie dedicate a specifiche aree di
calcolo, costituite da una collezione di funzioni che
estendono lambiente MATLAB.
Ne sono stati sviluppati pi di un centinaio, da quelli
dedicati alla risoluzione di problemi differenziali,
allottimizzazione, a quelli relativi al trattamento dei segnali,
alla visualizzazione di esperimenti fisici, etc
Le licenze dei vari toolbox possono essere acquistate
separatamente.
Introduzione al MATLAB

Esercitazioni di METODI NUMERICI 2012 -2013

MATLAB fornisce una documentazione molto estesa per aiutare


nellutilizzo e comprensione delle sue caratteristiche.
Informazioni utili possono essere reperite su :
Siti ufficiali del produttore:
www.mathworks.com
o

www.mathworks.it

Tools sviluppati su piattaforma MATLAB:


www.mathtools.com

Tools sviluppati da utenti MATLAB :


www.mathworks.it/matlabcentral
Molteplici le guide utili e complete.
Qualche indicazione

Higham D., Higham N. (2000) , MATLAB guide, SIAM Philadelphia.


Hunt B., Lipsman R., Rosenberg J. (2001), A guide to MATLAB: for
beginners and experienced users, Cambridge University Press
Introduzione al MATLAB

Esercitazioni di METODI NUMERICI 2012 -2013

Quando si richiama MATLAB, compare di solito


<MATLAB>
Copyright 1984-2007 The MathWorks, Inc.
Version 7.5.0.338 (R2007b)
August 9, 2007
To get started, select MATLAB Help or Demos from
the Help menu.
For product information, visit www.mathworks.com

>>
ll PROMPT di MATLAB il doppio simbolo di maggiore

Introduzione al MATLAB

Layout dellinterfaccia
La schermata principale di MATLAB composta, di default, da
quattro finestre:
COMMAND WINDOW:
E larea in cui vengono digitati i comandi
WORKSPACE WINDOW:
Vengono visualizzate tutte le variabili dellutente, il tipo e la
loro occupazione di memoria
CURRENT DIRECTORY WINDOW:
Vengono mostrati i file nella cartella di lavoro corrente
COMMAND HISTORY WINDOW:
Viene riportato lelenco in ordine cronologico dei comandi che
sono stati digitati nella Command Window
Queste finestre possono essere richiamate dal men desktop:
Selezionare il sottomen desktop layout
Selezionare lopzione default
Introduzione al MATLAB

Esercitazioni di METODI NUMERICI 2012 -2013

Ecco come appare di solito MATLAB al suo avvio

Introduzione al MATLAB

Esercitazioni di METODI NUMERICI 2012 -2013

Nella COMMAND WINDOW possibile digitare comandi e


visualizzare leventuale risultato (uso diretto).
Inoltre, con le frecce
possibile richiamare comandi
precedentemente digitati.

Introduzione al MATLAB

Esercitazioni di METODI NUMERICI 2012 -2013

CURRENT DIRECTORY WINDOW:


Vengono mostrati i file nella cartella di lavoro corrente

Introduzione al MATLAB

10

Esercitazioni di METODI NUMERICI 2012 -2013

COMMAND HISTORY WINDOW:


Viene riportato lelenco, in ordine cronologico, dei comandi che
sono stati digitati nella Command Window

Introduzione al MATLAB

11

Esercitazioni di METODI NUMERICI 2012 -2013

WORKSPACE:
Vengono visualizzate tutte le variabili dellutente, il tipo e la loro
occupazione di memoria

Introduzione al MATLAB

12

ARRAY EDITOR:
In questa finestra si pu leggere, modificare e stampare il valore di
ogni variabile.

Introduzione al MATLAB

13

Esercitazioni di METODI NUMERICI 2012 -2013

EDITOR:
E una finestra dove si pu scrivere il proprio programma.
I programmi sono sequenze di istruzioni per eseguire una
sequenza di operazioni.
I programmi MATLAB vengono scritti come file di testo nelleditor e
salvati assegnando un nome e lestensione .m .

Introduzione al MATLAB

14

Esercitazioni di METODI NUMERICI 2012 -2013

Il nome del file deve


iniziare con una lettera,
non deve contenere spazi,
non deve contenere vocali accentate.
E opportuno assegnare un nome che ricordi la funzione
svolta dal programma.
I file .m sono di due tipi: script e functions.
Gli script possono essere eseguiti mediante il comando run
delleditor oppure digitando il nome dello script sulla
command window e premendo il tasto invio (se il programma
presente nella current directory).
Le functions servono ad aggiungere nuovi comandi al
MATLAB e possono essere eseguite dal prompt o richiamate
da uno script esattamente come si usano i comandi gi
disponibili del MATLAB.
Introduzione al MATLAB

15

Esercitazioni
diMETODI
METODI
NUMERICI
2012
-2013
Esercitazioni di
NUMERICI
2012
-2013

HELP on LINE
Strumento comodo e
veloce per imparare ed
utilizzare le funzioni di
MATLAB
Fornisce informazioni
del
comando
con
eventuali opzioni
Fornisce cenni utili per
lutilizzo del comando
Eventuale esempio di
utilizzo
di
funzioni
correlate

>> help FFT

FFT Discrete Fourier transform.


FFT(X) is the discrete Fourier transform (DFT) of vector X.
For
matrices, the FFT operation is applied to each column. For
N-D
arrays, the FFT operation operates on the first nonsingleton
dimension.

FFT(X,N) is the N-point FFT, padded with zeros if X has


less Esercitazioni di METODI NUMERICI 2012 -2013
than N points and truncated if it has more.
FFT(X,[],DIM) or FFT(X,N,DIM) applies the FFT operation
across the dimension DIM.
For length N input vector x, the DFT is a length N vector X,
with N elements:

X(k) = sum x(n)*exp(-j*2*pi*(k-1)*(n-1)/N), 1 <= k <= N.


n=1
The inverse DFT (computed by IFFT) is given by N
N
x(n) = (1/N) sum X(k)*exp( j*2*pi*(k-1)*(n-1)/N), 1 <= n <=
N.

k=1
See also fft2, fftn, fftshift, fftw, ifft, ifft2, ifftn.

Introduzione al MATLAB

16

HELP on LINE
Per sapere quali toolbox sono installati nella versione di MATLAB a
disposizione possibile digitare nella Command Window:
>> help
Se si digita:
>> help NOME_TOOLBOX
viene mostrata la lista dei comandi disponibili in quella libreria,
con una brevissima descrizione della loro funzione.
Se si digita:
>> help COMANDO
viene spiegato in dettaglio lutilizzo del comando.
Introduzione al MATLAB

17

Introduzione al MATLAB

Se si digita:
>>help elfun

% elfun elementary functions

Si ottiene lelenco delle funzioni matematiche elementari


disponibili. Di seguito riportato un elenco delle funzioni di uso
comune.

FUNZIONI ELEMENTARI

18

Introduzione al MATLAB

OPERAZIONI MATEMATICHE

19

Introduzione al MATLAB

VARIABILI
Si assegna un valore ad una variabile mediante il comando:
nome_variabile=valore
>> x=2
x=2

Assegna alla variabile x il valore 2


x
2

>> y=x
y= 2

Assegna il valore della variabile x alla variabile y


x
2
y

Variabili

20

Introduzione al MATLAB

VARIABILE PREDEFINITA
Se il risultato di una computazione non viene assegnato ad alcuna
variabile, MATLAB assegna alla variabile predefinita ans il valore,
che pu essere utilizzato in elaborazioni successive.
>> b=-3*7
b=
>> a=4
a=

-21

>> 4+6
ans=
10

NOME DELLE VARIABILI


I nomi delle variabili possono essere composti da lettere, numeri
ed underscore.
Possono raggiungere al pi la lunghezza di 63 caratteri e devono
iniziare con un carattere A-z
Il MATLAB CASE SENSITIVE
( i.e. le lettere maiuscole e minuscole indicano entit diverse)

Variabili

21

Introduzione al MATLAB

OPERATORI ARITMETICI

22

Introduzione al MATLAB

CANCELLARE VARIABILI

Se si vuole eliminare una variabile, non pi utile, si pu fare uso


del comando clear seguito dal nome della variabile che si vuole
eliminare, per esempio:
>> clear z

Si noti che andando nel WORKSPACE la variabile z non pi


presente.
Se si vogliono eliminare tutti i dati del WORKSPACE
sufficiente digitare il comando clear seguito da invio
>> clear

WARNING: I dati persi non potranno


pi essere recuperati

Se si vuole eliminare tutto quanto digitato nella command


window, senza cancellare le variabile, si pu fare uso del
comando clc
>> clc

Variabili

23

Introduzione al MATLAB

Variabili

24

Introduzione al MATLAB

A differenza di molti altri linguaggi in MATLAB non occorre


dichiarare le variabili prima dellutilizzo.
Le
variabili
vengono
create
automaticamente
nel
WORKSPACE quando si assegna ad esse un valore o il
risultato di unespressione.
Alcune parole sono riservate in MATLAB e non possono
essere utilizzate come nome di variabili. Il MATLAB in tal caso
segnala errore.
Per conoscere i nomi riservati il comando
iskeyword nome_variabile
restituisce
restituisce
elisa.francomano@unipa.it

1
0

se nome_variabile non utilizzabile


se nome_variabile utilizzabile
Variabili
Variabili
in MATLAB

25

Introduzione al MATLAB

>> iskeyword if
ans =
1
>> iskeyword case

ans =
1
>> iskeyword ciao
ans =
0

Variabili

26

Introduzione al MATLAB

La funzione namelengthmax restituisce la lunghezza


massima del nome di una variabile (ossia 63)

Il comando whos nome_variabile visualizza nome, classe,


dimensioni e attributi della variabile nome_variabile
Il comando whos visualizza nome, classe, dimensioni e
attributi di tutte le variabili nel workspace
Il comando who visualizza il nome di tutte le variabili nel
workspace

Variabili

27

Introduzione al MATLAB

Il valore di una variabile di tipo intero viene visualizzato di solito


in un formato privo di punto decimale.
ll valore di una variabile di tipo reale viene visualizzato solo con
quattro cifre decimali.
NOTAZIONE ESPONENZIALE
I valori in notazione esponenziale (o scientifica) sono espressi con
una e posta tra il valore decimale e l'esponente (della base 10).
Per esempio:
6.789e7
per
67890000
6.789e-3 per
0.006789
importante non inserire spazi a destra e a sinistra della e.
WARNING:
In MATLAB la funzione esponenziale e si indica con exp.
Ad esempio :
1.345*exp(7)

Numeri

28

Introduzione al MATLAB

FORMAT
Mediante questo comando si pu usare un determinato
formato di visualizzazione per l'output. Ad esempio:

Numeri

29

Introduzione al MATLAB

Numeri Complessi
MATLAB permette di svolgere operazioni con i numeri complessi.
Digitando la lettera i o la lettera j seguita da invio MATLAB
assegna ( by default) lunit immaginaria alle variabili i e j.
>> i
ans =
0 + 1.000000000000000i
Se si assegna un valore diverso a queste variabili si perde ovviamente il
valore originario:
>> i=10

i=
10

Numeri

30

Introduzione al MATLAB

In tal caso basta definire una variabile ad esempio:


>> ii=sqrt(-1)
ii=
0+1.0000i
Il comando complex(a,b) genera il numero complesso
a+ib.
Per i numeri complessi sono definite somme, sottrazioni,
moltiplicazioni e divisioni.
>> x=1+i
x=
1.000000000000000 + 1.000000000000000i
>> y=2+2*i
y=
2.000000000000000 + 2.000000000000000i

Numeri

31

Introduzione al MATLAB

Non possono mancare funzioni che permettono di ricavare


informazioni sulla parte reale, parte immaginaria, modulo, fase
(in radianti), coniugato di un numero complesso:
>> z=1+i
z=
1.0000 + 1.0000i
>> real(z)
ans =

1
>> imag(z)

>> angle(z)
ans =
0.7854
>> conj(z)
ans =
1.0000 - 1.0000i

ans =
1

>> abs(z)
ans =
1.4142

Per qualsiasi dubbio digitare nella COMMAND WINDOW help nomecomando

Numeri

32

Introduzione al MATLAB

VETTORI
Vettori e matrici sono usati per conservare un insieme di valori
dello stesso tipo.
Ci sono vari modi per creare vettori. Epossibile generare un vettore riga
nei seguenti modi:
>> a=[1 2 3]

>> a=[1, 2, 3]

a=

a=
1

Virgola e spazi agiscono come separatori di colonna, mentre il


punto e virgola agisce come separatore di riga. Ad esempio si pu
generare il vettore colonna come segue:
>> b=[1;2;3]
b=

1
2
3

VETTORI

33

Introduzione al MATLAB

Gli elementi di un vettore sono numerati sequenzialmente


mediante indici che in MATLAB iniziano da1. Ad esempio:

>> a=[1 2 32 45]


1

1 2 32 45

Si accede ad un elemento di un vettore facendo seguire al nome


della variabile, tra parentesi tonde, lindice del vettore in
corrispondenza al quale lelemento memorizzato
>> a(3)
ans=
32

VETTORI

34

Introduzione al MATLAB

VETTORI

35

Introduzione al MATLAB

Per modificare un elemento di un vettore bisogna accedere all'elemento


utilizzando le parentesi tonde, quindi assegnare il nuovo valore. Ad
esempio:
>> v(3) = -1
v=
0 -2 -1 1

v = [0 -2 5 1]

Allo stesso modo possibile inserire nuovi elementi in un vettore


definito in precedenza.
>> v(5) = 45
v=
0 -2 -1 1 45

Se l'elemento da inserire non consecutivo a quelli gi presenti nel


vettore, MATLAB provvede ad assegnare zero agli elementi intermedi
non definiti. Ad esempio:
>> v(8) = 4
v=
0 -2 -1 1 45 0 0 4

VETTORI

36

Introduzione al MATLAB

Concatenazioni di vettori
Per concatenare due o pi vettori si utilizzano le
parentesi quadre
v = [0 -2 5 1]
>> z = [v w [7 -1]]
w = [-3 5]
z=
0 -2 5 1 -3 5 7 -1
Si possono richiamare anche pi posizioni di un vettore
contemporaneamente indicando, invece che un solo indice, un
vettore di indici. Ad esempio :
>> v =
0

0.2500

4.0000 0.7500 1.0000

>> v( [1 5 3] )
ans=
0 1.0000 4.0000
VETTORI

37

Introduzione al MATLAB

>> v =
0

0.2500

4.0000 0.7500 1.0000

E possibile riassegnare pi componenti di un vettore con un comando


unico, come segue:
>> v( [1 5 3] )=-1
ans=
-1.0000
0.2500

-1.0000 0.7500 -1.0000

E possibile riassegnare tutte le componenti selezionate uguali ad uno scalare


con:
>> v( [2 4] )=[0 0]
ans=
-1.0000
0.0000

-1.0000 0.0000 -1.0000

ciascuna delle componenti selezionate del vettore iniziale,


nellesempio v(2) e v(4), vengono poste uguali alle componenti del
vettore a destra delluguale.
VETTORI

38

Introduzione al MATLAB

Il comando length(x) restituisce la lunghezza del vettore


>> x=[1 2 3]
x=
1
2
3
>> length(x)
ans =
3
Un vettore pu contenere numeri o caratteri, ma non entrambi
Per definire un vettore di caratteri bisogna inserire i caratteri tra apici
>> s = ['c', 'i', 'a', 'o', ' ', '1','5']
s=
ciao 15
Il risultato di un vettore di caratteri una stringa
WARNING
C' differenza tra 5 (numero) e '5' (carattere)

elisa.francomano@unipa.it

VETTORI

39

Introduzione al MATLAB
NUMERICI 2012 -2013

Ogni volta che si vuole eseguire un comando dalla command


window, ma non si vuole visualizzare loutput (echo a video)
sufficiente aggiungere ; al termine del comando.
Caratteristica peculiare del MATLAB la notazione : che consente di
definire vettori costituiti da elementi equispaziati con un unico
comando:
>> x=[5:9]
x=
5
6

In questo caso possibile omettere le parentesi quadre


>> x=5:9
x=
5
6

E possibile modificare lo step 1 ( by default) mediante:


[valore iniziale:step:valore finale]
>> x=[5:2:9]
x=
5
7

VETTORI

40

Introduzione al MATLAB

Lo step pu essere anche negativo producendo una sequenza di


valori decrescenti:
>> x=[9: -2 :5]
x=
9
7
5

Spesso occorre generare un vettore di numeri equispaziati da xmin a


xmax con passo dx. Ad esempio per generare automaticamente un
vettore da 1 a 2 con passo 0.2 si pu operare come segue:

VETTORI

41

Introduzione al MATLAB

Estrarre parti del vettore una operazione molto comune che MATLAB
rende alquanto semplice:

VETTORI

42

Introduzione al MATLAB

La funzione linspace(x,y,n) crea un vettore con n valori compresi tra


x ed y
>> ls=linspace(3,15,5)

>> ls=linspace(89,92,2)

ls =

ls =

12

15

89

92

Se il parametro n non viene specificato viene creato di default un vettore


riga di lunghezza 100.

VETTORI

43

Introduzione al MATLAB

Per effettuare la trasposizione di un vettore basta fare seguire lapice


al nome del vettore
>>x= [ 1 2 3]
x=
1 2 3
>> x
ans=
1
2
3
Nel caso di vettori
complessi

Si ottiene il trasposto
coniugato

VETTORI

44

Introduzione al MATLAB

Somma e sottrazione sono possibili tra vettori di uguale


lunghezza entrambi riga o colonna
>> u=[ 1 2 -1];
>> v=[-1 0 2];
>> u+v
ans=
0
2
1
>> v=1:4
v=
1234
>> u+v
??? Error using ==> plus
Matrix dimensions must
agree.

VETTORI: operazioni

45

Introduzione al MATLAB

VETTORI: operazioni

46

Introduzione al MATLAB

VETTORI: operazioni

47

Introduzione al MATLAB

La prima operazione componente per componente (element-wise) il


prodotto .* che agisce tra vettori di uguale lunghezza entrambi riga o
colonna. Ad esempio:

Analoga la divisione ./ che agisce anchessa tra vettori, entrambi


riga o colonna, di uguale lunghezza

VETTORI: operazioni element-wise

48

Introduzione al MATLAB

Operazioni componente per componente


Lultima operazione componente per componente lelevamento a potenza
.^ che consente di elevare tutte le componenti di un vettore allo stesso
esponente scalare. Ad esempio:
>> v=[1:4];

>> v.^3
ans =
1

27

64

E possibile utilizzare questa operazione tra due vettori di uguali


dimensioni, entrambi riga o colonna, in modo che ogni elemento del
primo venga elevato allelemento del secondo nella stessa posizione.
Ad esempio:
>> v=[ -1 3 5];
>> w=[ 2 3 4];

>> v.^w
ans =
1

27 625

VETTORI: operazioni element-wise

49

Introduzione al MATLAB

MATLAB include una grande variet di funzioni matematiche elementari


e di funzioni speciali di uso comune.
E utile ricordare che se gli argomenti sono dei vettori queste funzioni
agiscono sui singoli elementi dei vettori ( i.e. sono element-wise),

Cos se si ha la necessit di calcolare il seno di un vettore si genera un


vettore. Ad esempio:
>> x=0:pi/5:pi
x= 0 0.6283 1.2566 1.8850 2.5133 3.1416
>> sin(x)
ans=
0 0.5878 0.9511 0.9511 0.5878 0.0000

Si noti che le funzioni definite dallutente non sono element-wise

VETTORI: operazioni element-wise

50

Introduzione al MATLAB

VETTORI: operazioni element-wise

51

Introduzione al MATLAB

Ci sono molte funzioni MATLAB per manipolare vettori tra le quali

VETTORI

52

Introduzione al MATLAB

Spesso occorre importare ed esportare dati . Per questo esistono le


funzioni SAVE e LOAD a cui si rimanda allHELP per eventuali
dettagli sui formati e possibili opzioni
Per esempio se si vuole salvare il vettore vet in un file di testo si
pu digitare quanto segue:
>> vet=[1 2 3 4 5 6 7]
vet=
1 2 3 4 5 6 7
>> save C:\MATLAB7\prova.dat ascii vet

Controllate con un editore di testo il contenuto del file prova.dat


>>w= load (prova.dat)
w=
1

Il contenuto del file verra conservato nel vettore w

SAVE e LOAD

53

Introduzione al MATLAB

Matrici
Lintroduzione di matrici segue le regole gi riportate per i
vettori. Spazi o virgole si utilizzano per le colonne, punti e
virgola per le righe:

Come per i vettori possibile risalire alle dimensioni di una matrice.


Ad esempio per la matrice appena inserita:

Uno scalare una matrice 1x1.


E possibile salvare o importare matrici con i comandi save e load.
MATRICI

54

Introduzione al MATLAB

Si accede ad un elemento di una matrice mediante il nome


della matrice a cui seguono, tra parentesi tonde separati da
virgola, lindice di riga e di colonna
>> A=[1 2 3; 3 4 5;6 9 0]
A=
1
3
6

2
4
9

3
5
0

>> A(3,3)
ans =
0
oppure
>> A(end,end)
ans=
0

>> A(1,1)
ans =
1
>> A(2,3)
ans=
5

La keyword end identifica


lindice dellultima riga o
dellultima colonna di A

MATRICI

55

Introduzione al MATLAB

MATRICI

56

Introduzione al MATLAB

Index Notation

In MATLAB una matrice mxn viene memorizzata in forma


lineare come un vettore di mn elementi procedendo per
colonna a partire dallelemento A(1,1)
A=
1.0056 -2.0000
1.4142
0
0.7071 1.0000

3.6500
0.8378
7.0000

Per accedere ad un elemento della matrice si opera in questo caso come


per i vettori. Ad esempio:

MATRICI

57

Introduzione al MATLAB

MATRICI

58

Introduzione al MATLAB

MATRICI

59

Introduzione al MATLAB

E possibile generare automaticamente alcune matrici di uso comune

E una matrice 1-by-4 di uno

MATRICI

60

Introduzione al MATLAB

>>M=magic(3)
>>ans=
8
3
4
MATRICI

1
5
9

6
7
2
61

Introduzione al MATLAB

In MATrix LABoratory non possono mancare le operazioni


standard per matrici: addizione +, sottrazione -, moltiplicazione
*, divisione/ o\, elevamento a potenza ^, trasposto
coniugato .
ATTENZIONE: cura dellutente garantire che le matrici abbiano
dimensioni compatibili. Di seguito sono riportate alcuni errori dovuti ad
un inadeguato utilizzo degli operatori aritmetici.
a=
1

>> b=zeros(3)
b=

>> a+b

>> a*b

??? Error using ==> plus

??? Error using ==> mtimes

Matrix dimensions must agree.

Inner matrix dimensions must agree.

MATRICI

62

Introduzione al MATLAB

MATRICI

63

Introduzione al MATLAB

ATTENZIONE : Nel caso di dati complessi loperatore genera la


matrice trasposta coniugata.

MATRICI

64

Introduzione al MATLAB

MATRICI

65

Introduzione al MATLAB

A=

B=
1

3
D=

C=
2

45

239

23 46

78

MATRICI

66

Introduzione al MATLAB

Replicatori di vettori o matrici

Quando si deve operare su una serie di dati (x,y) spesso


necessario replicare opportunamente i dati dei due vettori
x e y per potere esprimere il problema in forma matriciale
ed operare pi velocemente. A tale scopo MATLAB
dispone di replicatori di matrici.
Ad esempio, il comando
B=repmat(A,m,n)
costruisce una nuova matrice B replicando la matrice A
m volte lungo le righe ed n volte lungo le colonne

MATRICI

67

Introduzione al MATLAB

Replicatori di vettori o matrici


A=

> B=repmat(A,2,1)

B=
B=repmat(A,3, 2)
B=
1

MATRICI

68