Matlab
This presentation is the property of its rightful owner.
Sponsored Links
1 / 39

MATLAB PowerPoint PPT Presentation


  • 98 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

MATLAB

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


Matlab

MATLAB


Matlab

Annalisa Pascarella

[email protected]


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 predefinitei, pi, NaN, Inf

    • 2/0->Inf

    • 0/0->NaN (Not-a-Number)

  • Funzioni elementarisin, 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)


Matlab

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


Esercizio

Esercizio


  • Login