matlab
Download
Skip this Video
Download Presentation
MATLAB

Loading in 2 Seconds...

play fullscreen
1 / 39

MATLAB - PowerPoint PPT Presentation


  • 140 Views
  • Uploaded on

MATLAB. Annalisa Pascarella [email protected] …di cosa parliamo oggi…. Piccola introduzione a Matlab Matrici definizione operazioni Sistemi lineari Ax=b A quadrata singolare e non A m x n Esercizi. MATLAB. MATrix LABoratory Linguaggio di programmazione interpretato

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' MATLAB' - bruis


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
di cosa parliamo oggi
…di cosa parliamo oggi…
  • Piccola introduzione a Matlab
  • Matrici
    • definizione
    • operazioni
  • Sistemi lineari Ax=b
    • A quadrata singolare e non
    • A m x n
  • Esercizi
matlab1
MATLAB
  • MATrix LABoratory
  • Linguaggio di programmazione interpretato
    • legge un comando per volta eseguendolo immediatamente
  • Per avviarlo ->

icona sul desktop

command

window

matlab come calcolatrice 1

4 + 7

invio

x = 9 -> invio

MATLAB come calcolatrice-1
  • è possibile definire variabili e operare su esse
matlab come calcolatrice 2
MATLAB come calcolatrice-2
  • Operatori aritmetici +, -, *, /, ^,
  • Caratteri speciali ;, %, :
  • Variabili predefinite i, pi, NaN, Inf
    • 2/0 -> Inf
    • 0/0 -> NaN (Not-a-Number)
  • Funzioni elementari sin, cos, log, exp
  • Comandi speciali help, clear

help sqrt

lavorare con matlab
Lavorare con MATLAB
  • In MATLAB tutte le variabili sono trattate come matrici
    • scalari -> matrici 1 x 1
    • vettori riga -> matrici 1 x n

v = (v1,…, vn)

    • vettori colonna -> matrici n x 1

v = (v1,…, vn)T

    • matrici -> matrici m x n
vettori

per separare le righe

trasposto

Vettori
  • Per definire un vettore riga
  • Per definire un vettore colonna

a = [1 2 3 4 5]

o

a = [1, 2, 3, 4, 5]

a = [1; 2; 3; 4; 5]

o

a = [1 2 3 4 5] ’

matrici 1

A = [3 0; 1 2]

A = [3 0

1 2]

B = [3 0 3; 1 2 0]

Matrici - 1
  • Per definire una matrice
  • size(B) -> dimensioni della matrice
    • per memorizzare le dimensioni -> [r c] = size(B)
matrici 2

a1 = [3 0]

a2 = [1 2]

A = [a1;a2]

Matrici - 2

b1 = [3;1]

b2 = [0; 2]

b3 = [3; 0]

B = [b1, b2, b3]

il comando
Il comando :
  • Importante per la manipolazione delle matrici
  • Esempi
    • generazione di vettori che siano delle progressione aritmetiche di passo costante
      • a = [1:10] o a = 1:10
      • b = 1: .2 : 4
      • c = 3:0 -> non produce niente!!!!
      • c = 3: -1: 1
    • mediante : si possono estrarre righe e colonne
esercizio1
Esercizio1
  • Costruire il vettore
    • v = [1,2,…,19,20,20,19,…,2,1]
  • Costruire la matrice A avente come colonne i 3 vettori
    • v1 = [1,2,…,9]
    • v2 = [2,4,…,18]
    • v3 = [9,8,…,1]
individuare modificare elementi

B(2,3)

B(2,3) = 1;

B

Individuare\modificare elementi

per selezionare un elemento

per modificare l’elemento

per visualizzare B

estrarre sottomatrici

B(:,[1 3])

B(:,2:3)

B(2,:)

B(:,2)

Estrarre sottomatrici

estrarre la riga R2

estrarre la colonna C2

sottomatrice 2 x 2

matrici diagonali

Diagonale di A

d = diag(A)

diag(d)

Matrici diagonali

costruisce anche matrici diagonali

a = [ 1 2 ]; diag(a)

matrici triangolari

triu(B)

tril(A)

matrice triangolare inferiore ->

Matrici triangolari

matrice triangolare superiore ->

identit zero uno

identità di ordine n -> eye(n)

eye(3)

zeros(m,n)

zeros(2,3)

ones(m,n)

ones(2,3)

matrice nulla m x n ->

Identità-zero-uno

matrice m x n di 1 ->

matrici a blocchi

A(3,3) = 3

C = [2 3; 1 1]

D = [A C]

Matrici a blocchi
  • I modo
  • II modo
  • III modo

C(3:4,3:4) = eye(2)

operazioni 1
Operazioni - 1

clear

A=[1 2;3 4];

B=[1 0;-1 1];

C=[0 3 1;1 2 4];

D=[3 4 -1;5 2 3;0 1 -1];

operazioni somma

??? Error using = => +

Matrix dimensions must

agree.

Operazioni - somma

A+B

Somma / Differenza

A-B

A+C

Trasposta

A’

operazioni prodotto
Operazioni - prodotto

Prodotto

#CA = #RB

A*B

Elemento per elemento

size(A) = size(B)

A.*B

Prodotto per uno scalare

A*k

determinante
Determinante

det(B)

det(D)

1

0

Determinante 

2

rank(D)

Rango 

inv(B)

inv(D)

B^(-1)

Inversa 

?

esercizio 2
Esercizio 2
  • Costruire le matrici A e B
  • Estrarre da A 2 sottomatrici:
    • una costituita dalle ultime 3 colonne
    • una costituita dalla I e III riga e dalle colonne II e IV
sistemi lineari

matrice dei coefficienti

matrice dei termine noti

Sistemi Lineari

Teorema di Rouchè-Capelli

  • rango(A) = rango(A|b) <=> il sistema è risolubile
  • rango(A) = rango(A|b) = n => unica soluzione
  • rango(A) = rango(A|b) = p < n => ∞n-p soluzioni
risoluzione di sistemi lineari
Risoluzione di sistemi Lineari

Ax = b

  • Sostituzione
  • Cramer
    • SE A è quadrata E invertibile
  • Algoritmo di Gauss
      • operazioni elementari sulle righe
      • pivotizzazione (parziale o totale) -> importante quando si implementa l’algoritmo al calcolatore
sistemi lineari non singolari

il simbolo nn è quello della divisione!!

Sistemi Lineari non singolari
  • la soluzione è calcolata mediante l’algoritmo Gaussiano con pivot parziale
  • tempo richiesto minore del calcolo dell’inversa

x = A\b

x = inv(A)*b

esempio
Esempio

A = [1 1 1; 1 1 -1; 1 -1 1];

b = [3 2 2]’;

det(A)

x = A\b

ci assicuriamo che il det di A sia diverso da zero

a quadrata singolare
A quadrata singolare

A = [3 4 -1; 5 2 3; 0 1 -1];

b = [14 14 2]’;

rank(A)

rank([A b])

per vedere se il sistema è

risolubile confrontiamo il

rango di A con quello della

matrice completa (A|b)

questo sistema è risolubile in quanto rango(A)=rango(A|b)=2 => ∞ soluzioni

il comando rref
Il comando rref
  • Per studiare e risolvere un sistema qualunque si deve ridurre la matrice completa (A|b)
    • Si usa il comandorref(reduced row echelon form )

rref([A b])

rrefmovie([A b])

a non quadrata
A non quadrata

A = [1 0 1; 0 -1 0];

b = [0 1]’;

rank(A)

rank([A b])

rref([A b])

questo sistema è risolubile in quanto rango(A)=rango(A|b)=2 => ∞ soluzioni

riassumendo
…riassumendo…
  • A quadrata NON singolare
    • Matlab ci fornisce la soluzione
  • A quadrata singolare o A m x n
    • rref ci restituisce la matrix ridotta
    • le soluzioni le dobbiamo scrivere noi a partire dalla matrix ridotta ottenuta

x = A\b

rank(A)

rank([A b])

rref([A b])

esercizi
Esercizi
  • Studiare e risolvere, eventualmente, i seguenti sistemi lineari:
  • Lanciare per l’ultima matrice il comando rrefmovie([A b])
vettori l i
Vettori l.i.
  • sono linearmenti indipendenti
esempio 1

il rango è 3 => i vettori sono l.i. e quindi formano una base per R3

Esempio - 1

v1 = [1 0 2]’;

v2 = [2 1 1]’;

v3 = [1 2 0]’;

A = [v1 v2 v3]

rank(A)

esempio 2

il rango è 3 => i vettori sono l.d.

Esempio - 2

v1 = [1 2 0 1]’;

v2 = [2 2 1 1]’;

v3 = [1 0 1 0]’;

v4 = [0 2 0 2]’;

A = [v1 v2 v3 v4]

rank(A)

esempio 21
Esempio - 2
  • Per trovare una c.l. nulla a coefficienti nn tutti nulli t.c.

troviamo una soluzione nn nulla del sistema omogeneo Ak = 0

rref(A)

slide37

il rango è 3 => i vettori sono l.i.

i coefficienti lineari della combinazione si trovano:

k=A\v

Basi
  • Dopo aver verificato che i vettori v1, v2, v3 sono una base di R3esprimere v come c.l. dei vi

v1 = [1 1 0’]’;

v2 = [0 1 1]’;

v3 = [1 0 1]’;

v = [1 1 1]’;

A = [v1 v2 v3]

rank(A)

ricapitolando
…ricapitolando…
  • sono l.i.  rank(A)=m A (n>=m)
  • W = span(v1,v2,…,vm)
    • dim W = rank(A)
    • per trovare una base del s.s. BWsi considerano i vettori l.i. che costituiscono la matrix A
    • per esprimere un vettore w come c.l. dei vettori della base, si forma la matrix B avente per colonne le componenti di tali vettori e si risolve il sistema Bk=w
  • se i vettori sono l.d. => i coefficienti di una loro combinazione lineare non nulla si trovano risolvendo il sistema Ak=0
ad