MATLAB - mtm.ufsc.brmtm.ufsc.br/~melissa/20121/pam/matlab_01.pdf · MATLAB Melissa Weber...
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
= 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‖∞
= 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