MATLAB - mtm.ufsc.brmtm.ufsc.br/~melissa/20121/pam/matlab_01.pdf · MATLAB Melissa Weber...

27
MATLAB Melissa Weber Mendon¸ ca 1 1 Universidade Federal de Santa Catarina 2012.1 M. Weber Mendon¸ca (UFSC) MATLAB 2012.1 1 / 16

Transcript of MATLAB - mtm.ufsc.brmtm.ufsc.br/~melissa/20121/pam/matlab_01.pdf · MATLAB Melissa Weber...

MATLAB

Melissa Weber Mendonca1

1Universidade Federal de Santa Catarina

2012.1

M. Weber Mendonca (UFSC) MATLAB 2012.1 1 / 16

Relembrando...

Estruturas de dadosI Vetores:

>> v = [1,2,3];

>> u = [4;5;6];

I Matrizes:

>> A = [1 2 3;4 5 6;7 8 9];

Estruturas basicas de programacao>> if condicao

comando;

end

>> for i = a:b

comando;

end

M. Weber Mendonca (UFSC) MATLAB 2012.1 2 / 16

Relembrando...

Para vetores,

v(i)

v(:)

v(2:4)

Para matrizes,

A(i,j)

A(i,:)

A(:,j)

A(:,:)

A(:) cuidado!

A(1:2,:)

A(1,2:3)

M. Weber Mendonca (UFSC) MATLAB 2012.1 3 / 16

Norma de um vetor

Como calcular a norma de um vetor?

‖v‖2 =

√√√√ n∑i=1

v2i

M. Weber Mendonca (UFSC) MATLAB 2012.1 4 / 16

Norma de um vetor

Para calcularmos a norma (euclidiana)

‖v‖2 =

√√√√ n∑i=1

v2i

de um vetor v , usamos o comando

>> norm(v)

M. Weber Mendonca (UFSC) MATLAB 2012.1 5 / 16

Norma de um vetor

Para as outras normas, temos:

‖v‖∞ = max1≤i≤n

|xi |

M. Weber Mendonca (UFSC) MATLAB 2012.1 6 / 16

Norma de um vetor

Para as outras normas, temos:

‖v‖∞ = max1≤i≤n

|xi | >> norm(v,inf)

M. Weber Mendonca (UFSC) MATLAB 2012.1 6 / 16

Norma de um vetor

Para as outras normas, temos:

‖v‖∞ = max1≤i≤n

|xi | >> norm(v,inf)

‖v‖p =

(n∑

i=1

|xi |p)1/p

M. Weber Mendonca (UFSC) MATLAB 2012.1 6 / 16

Norma de um vetor

Para as outras normas, temos:

‖v‖∞ = max1≤i≤n

|xi | >> norm(v,inf)

‖v‖p =

(n∑

i=1

|xi |p)1/p

>> norm(v,p)

M. Weber Mendonca (UFSC) MATLAB 2012.1 6 / 16

Norma de um vetor

Para as outras normas, temos:

‖v‖∞ = max1≤i≤n

|xi | >> norm(v,inf)

‖v‖p =

(n∑

i=1

|xi |p)1/p

>> norm(v,p)

>> norm(v,2)

M. Weber Mendonca (UFSC) MATLAB 2012.1 6 / 16

Norma de uma matriz

Mesma coisa!‖A‖2 = max

‖x‖2=1‖Ax‖2

>> norm(A)

>> norm(A,2)

M. Weber Mendonca (UFSC) MATLAB 2012.1 7 / 16

Norma de uma matriz

Mesma coisa!‖A‖2 = max

‖x‖2=1‖Ax‖2

‖A‖2 =√λmax(ATA)

>> norm(A)

>> norm(A,2)

M. Weber Mendonca (UFSC) MATLAB 2012.1 7 / 16

Norma de uma matriz

‖A‖1 = max‖x‖1=1

‖Ax‖1

M. Weber Mendonca (UFSC) MATLAB 2012.1 8 / 16

Norma de uma matriz

‖A‖1 = max‖x‖1=1

‖Ax‖1

= max1≤j≤n

m∑i=1

|aij |

M. Weber Mendonca (UFSC) MATLAB 2012.1 8 / 16

Norma de uma matriz

‖A‖1 = max‖x‖1=1

‖Ax‖1

= max1≤j≤n

m∑i=1

|aij |

>> norm(A,1)

M. Weber Mendonca (UFSC) MATLAB 2012.1 8 / 16

Norma de uma matriz

‖A‖∞ = max‖x‖∞=1

‖Ax‖∞

M. Weber Mendonca (UFSC) MATLAB 2012.1 9 / 16

Norma de uma matriz

‖A‖∞ = max‖x‖∞=1

‖Ax‖∞

= max1≤i≤m

n∑j=1

|aij |

M. Weber Mendonca (UFSC) MATLAB 2012.1 9 / 16

Norma de uma matriz

‖A‖∞ = max‖x‖∞=1

‖Ax‖∞

= max1≤i≤m

n∑j=1

|aij |

>> norm(A,inf)

M. Weber Mendonca (UFSC) MATLAB 2012.1 9 / 16

Equivalencia

Para toda matriz A ∈ Cm×n,

1√m‖A‖2 ≤ ‖A‖∞ ≤

√n‖A‖2

1√n‖A‖2 ≤ ‖A‖1 ≤

√m‖A‖2

1m‖A‖1 ≤ ‖A‖∞ ≤ n‖A‖1

M. Weber Mendonca (UFSC) MATLAB 2012.1 10 / 16

Norma de Frobenius

Alem das normas induzidas, tambem podemos calcular a norma deFrobenius de A:

‖A‖F =

√√√√ m∑i=1

n∑j=1

|aij |2 =√

traco(AAT )

M. Weber Mendonca (UFSC) MATLAB 2012.1 11 / 16

Norma de Frobenius

Alem das normas induzidas, tambem podemos calcular a norma deFrobenius de A:

‖A‖F =

√√√√ m∑i=1

n∑j=1

|aij |2 =√

traco(AAT )

>> norm(A,’fro’)

M. Weber Mendonca (UFSC) MATLAB 2012.1 11 / 16

Numero de condicao de uma matriz

Para calcular o numero de condicao de A, dado por

c(A) = ‖A‖p‖A−1‖p

usamos o comando

>> cond(A,p)

Se A e simetrica, c(A) =λmax

λmin.

M. Weber Mendonca (UFSC) MATLAB 2012.1 12 / 16

Exemplos

A = [1 1.0001; 1 1]

A = [1 1; 1 1]

A = rand(10, 10);A = A′ ∗ A;max(eig(A))/min(eig(A))

A = [400 − 201;−800 401]; b = [200;−200]

M. Weber Mendonca (UFSC) MATLAB 2012.1 13 / 16

Exemplos

A = [1 1.0001; 1 1]

A = [1 1; 1 1]

A = rand(10, 10);A = A′ ∗ A;max(eig(A))/min(eig(A))

A = [401 − 201;−800 401]; b = [200;−200]

M. Weber Mendonca (UFSC) MATLAB 2012.1 13 / 16

Cırculos de Gershgorin

Teorema

Cada autovalor λ de A esta em pelo menos um dos cırculos definidos por

|λ− aii | ≤n∑j=1

j 6=i

|aij | (i = 1, . . . , n)

Exemplo:

>> A = rand(10,10)

M. Weber Mendonca (UFSC) MATLAB 2012.1 14 / 16

for i=1: size(A,1)

h = real(A(i,i));

k = imag(A(i,i));

r = sum(abs(A(i,:))) -abs(A(i,i));

% Circulos

N = 256;

t = (0:N)*2*pi/N;

plot(r*cos(t)+h,r*sin(t)+k,’-’);

% Centros

hold on;

plot(h,k,’+’);

end

M. Weber Mendonca (UFSC) MATLAB 2012.1 15 / 16

axis equal;

Lbd = eig(A);

for i = 1:size(Lbd)

av = plot(real(Lbd(i)),imag(Lbd(i)),’ro’);

end

hold off;

legend(av ,’Autovalores de A.’);

M. Weber Mendonca (UFSC) MATLAB 2012.1 16 / 16