Escolar Documentos
Profissional Documentos
Cultura Documentos
Funções do Matlab
» A=[4 1 2; 0 1 0; 8 4 5]
A=
4 1 2
0 1 0
8 4 5
b=
1
0
2
» x=A\b
x=
0.2500
0
0
» A*x
ans =
1
0
2
» A=[4 1 2; 0 1 0; 8 4 5]
A=
4 1 2
0 1 0
8 4 5
4 1 2
0 1 0
8 4 5
A = [1 2 3; 2 4 7; 3 5 3];
A=
1 2 3
2 4 7
3 5 3
» [L,U]=lu(A)
L=
0.3333 0.5000 1.0000
0.6667 1.0000 0
1.0000 0 0
U=
3.0000 5.0000 3.0000
0 0.6667 5.0000
0 0 -0.5000
Verificando se L*U = A
ans =
3 5 3
2 4 7
1 2 3
» [L,U,P]=lu(A)
L=
1.0000 0 0
0.6667 1.0000 0
0.3333 0.5000 1.0000
U=
3.0000 5.0000 3.0000
0 0.6667 5.0000
0 0 -0.5000
P=
0 0 1
0 1 0
1 0 0
b=
1.0000
-1.0000
0.5000
» pb=P*b
pb =
0.5000
-1.0000
1.0000
» y=L\pb
y=
0.5000
-1.3333
1.5000
3º: Resolver o sistema de equações Ux=y
» x=U\y
x=
-31.0000
20.5000
-3.0000
Para as matrizes:
NORM(A,1)= max(sum(abs((X)))-
determina ||A||1 - o máximo das somas por coluna dos valores absolutos
dos elementos de A
NORM(A,inf) =max(sum(abs((X')))
determina ||A||∞ - o máximo das somas por linha dos valores absolutos
dos elementos de A
Para os vectores:
NORM(X,1) = max(sum(abs((X))). Determina ||X||1 - norma absoluta
NORM(X,inf) = max(abs(X)). Determina ||X||∞ - norma de máximo
NORM(X,-inf) = min(abs(X)). Determina ||X||-∞ - norma de mínimo
For exemplo:
» A=[1 2 4; 4 -1 1; 2 5 2]
A=
1 2 4
4 -1 1
2 5 2
» norm(A,1) % o máximo das somas por coluna dos valores absolutos dos
elementos de A
ans =
» norm(A,inf) % o máximo das somas por linha dos valores absolutos dos
elementos de A
ans =
» b=[11 8 3]'
b=
11
8
3
22
11
» A=[1 2 4; 4 -1 1; 2 5 2]
A=
1 2 4
4 -1 1
2 5 2
» cond(A,inf)
ans =
4.17391304347826
Exercícios em Matlab
% -------------------------------------------------------------------------
% Este programa partindo da aproximação inicial X0=[5/4,-1/4]
% aproxima a solução do sistema
% 2x1 + 0.5 x2= 2.5
% x1 + 3 x2= 0.5
% aplicando o método de Jacobi e o método de Gauss-Seidel por forma a que
% ||x(k) – x(k-1) || < 0.5 x 10-1
% -------------------------------------------------------------------------
A=[2 0.5; 1 3] % introduzir a matriz A
b=[2.5 0.5]' % introduzir o vector b
X0=[5/4,-1/4]' % introduzir a solução inicial
[X,dX,k,Z]=jacobi(A,b,X0,0.05,2);
m=length(Z);
k=1:m;
disp('');
disp('---------------------Método de Jacobi --------------------');
disp(' Iteração x(1) x(2) ');
disp('--------------------------------------------------------------');
disp([k',Z])
disp('--------------------------------------------------------------');
disp(' ');
disp(['A solução: ','x1= ',num2str(Z(m,1),8),' x2= ',num2str(Z(m,2),8)]);
[X,dX,k,Z]=gseidel(A,b,X0,0.05,2);
m=length(Z);
k=1:m;
disp(' ');
disp('-------------------Método de Gauss-Seidel --------------------');
disp(' Iteração x(1) x(2) ');
disp('--------------------------------------------------------------');
disp([k',Z])
disp('--------------------------------------------------------------');
disp(' ');
disp(['A solução: ','x1= ',num2str(Z(m,1),8),' x2= ',num2str(Z(m,2),8)]);
» ex5
A=
2.00000000000000 0.50000000000000
1.00000000000000 3.00000000000000
b=
2.50000000000000
0.50000000000000
X0 =
1.25000000000000
-0.25000000000000
--------------------------------------------------------------
--------------------------------------------------------------