Trabalho 344
Trabalho 344
Trabalho 344
1a Questão: A estratégia de pivoteamento parcial tem por objetivo reduzir a influência dos erros
de arredondamento que surgem durante a etapa de escalonamento do Método da Eliminação
de Gauss. Pede-se:
a) Explicar o motivo pelo qual a estratégia reduz a influência dos erros de arredondamento;
b) Implementar uma função ( function x = mne_slgauss(a,b) ) que resolve sistemas de
equações lineares pelo Método da Eliminação de Gauss. Incluir a estratégia de
pivoteamento parcial e a possibilidade do sistema apresentar nenhuma e múltiplas
soluções. Nestes casos, além de informar ao usuário sobre o ocorrido, a função deve
retornar o vetor solução x. Os argumentos a e b são, respectivamente, a matriz dos
coeficientes e o vetor de constantes.
- Das colunas: ;
- De Sassenfeld: e .
3a Questão: Definir um sistema de equações lineares a quatro incógnitas que possui uma
única solução e que atenda a condição de suficiência para a convergência dos métodos
iterativos.
a) Determinar a solução do sistema empregando o Método da Eliminação de Gauss;
b) Implementar os algoritmos de Gauss-Jacobi (mne_slgjacobi) e de Gauss-Seidel
(mne_slgseidel). As funções devem retornar o vetor solução e o número de iterações:
function [x,nite] = mne_slgjacobi(a,b,x0,nmaxite,tol)
function [x,nite] = mne_slgseidel(a,b,x0,nmaxite,tol)).
Os parâmetros de entrada são a matriz dos coeficientes, o vetor das constantes, o vetor
com a estimativa inicial, o número máximo de iterações e a tolerância de convergência.
Essas funções devem fazer referência à implementação da questão anterior, informando
ao usuário sobre possíveis situações que exigem atenção especial.
c) Estudar a influência da distância entre a estimativa inicial e a solução do sistema no
número de iterações (basear suas conclusões em um gráfico distância x número de
iterações - vide figura abaixo). Assumir a estimativa inicial distante de 5, 10, 20, 40, 80, 160,
320, 640, 1280 e 2560 da solução obtida no item (a) e ao longo de uma direção de sua
preferência. Adotar as tolerâncias de 10-6, 10-8 e 10-10 para os dois métodos iterativos e um
número máximo de iterações muito grande (por exemplo, 10000)
No de Gauss-Jacobi (tol=10^-6)
iterações
.
nite .
Gauss-Seidel (tol=10^-6)
.
Distância
Declaração de matrizes:
Matriz qualquer:
>> a=[1 3 6 2;2 5 2 8]
a=
1 3 6 2
2 5 2 8
Matriz identidade:
EYE(N) é uma matriz identidade NxN.
>> a=eye(3)
a=
1 0 0
0 1 0
0 0 1
EYE(M,N) ou EYE([M,N]) é uma matriz MxN com 1 na diagonal e 0 nos demais
elementos.
>> a=eye(3,4)
a=
1 0 0 0
0 1 0 0
0 0 1 0
Matriz nula:
ZEROS(N) é uma matriz NxN de zeros.
>> a=zeros(3)
a=
0 0 0
0 0 0
0 0 0
ZEROS(M,N) ou ZEROS([M,N]) é uma matriz MxN de zeros.
>> a=zeros(3,4)
a=
0 0 0 0
0 0 0 0
0 0 0 0
Operadores matriciais:
Matriz transposta:
>> [1 5 4;2 7 9]'
ans =
1 2
5 7
4 9
Matriz inversa:
> inv([1 5 4;2 7 9;5 3 7])
ans =
0.3607 -0.3770 0.2787
0.5082 -0.2131 -0.0164
-0.4754 0.3607 -0.0492
Determinante:
> det([1 5 4;2 7 9;5 3 7])
ans =
61
Sistema de equações lineares (inversa da matriz dos coeficientes vezes a transposta do
vetor linha das constantes):
> inv([1 5 4;2 7 9;5 3 7])*[17 26 6]'
ans =
-2.0000
3.0000
1.0000