0% acharam este documento útil (0 voto)
18 visualizações11 páginas

Redução Triangular em Sistemas Lineares

Este documento descreve o método de eliminação de Gauss para resolver sistemas lineares. Ele explica como transformar o sistema original em um equivalente triangular superior através de operações elementares e, em seguida, resolver o sistema triangular usando substituição regressiva.

Enviado por

Fabiano Passos
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
18 visualizações11 páginas

Redução Triangular em Sistemas Lineares

Este documento descreve o método de eliminação de Gauss para resolver sistemas lineares. Ele explica como transformar o sistema original em um equivalente triangular superior através de operações elementares e, em seguida, resolver o sistema triangular usando substituição regressiva.

Enviado por

Fabiano Passos
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

INSTITUTO FEDERAL SUL-RIO-GRANDENSE

CURSO SUPERIOR DE ENGENHARIA ELTRICA


DISCIPLINA DE ANLISE DE SISTEMAS DE ENERGIA A

Trabalho 04

FABIANO LUIS LIMA PASSOS


Pelotas, 08 de outubro de 2014
Reduo Triangular

Seja Ax=b um sistema linear, em que A uma matriz quadrada n x n.

O mtodo consiste em eliminar todos os elementos aij, onde i>j


modificando sistemas lineares de forma a obter um sistema equivalente com
uma matriz triangular superior, pois este mais simples e de fcil resoluo, ou
seja, dada atravs de substituies. Ento este o procedimento para casos
de n equaes lineares simultneas em n variveis.
Eliminao de Gauss um mtodo muito utilizado para resolver
sistemas lineares, transformando o sistema original em um equivalente
simplificado de mesma soluo. Para esta modificao aplica-se sobre as
equaes do sistema Ax=b uma seqncia de operaes elementares
escolhidas entre:
i) Trocar duas equaes;
ii) Multiplicar uma equao por uma constante no-nula;
iii) Adicionar um mltiplo de uma equao a outra equao.
Admitimos que as equaes tivessem sido ordenadas de modo que akk
0 e definindo-se n-1 multiplicadores, teremos:
Eliminao

Aps eliminarmos xn-1 da ltima equao, o sistema triangular final


dado por:

A substituio regressiva ento produz a soluo como se segue:


Resoluo do sistema

O algoritmo acima efetua, na fase de eliminao, (4n3+3n2-7n)/6


operaes e, para resolver o sistema triangular superior sero efetuadas n2
operaes, tendo assim um total de (4n3+9n2-7n)/6, para se resolver um
sistema linear pelo mtodo de Eliminao de Gauss.

Estratgias de pivoteamento
Para no se ter piv nulo o que tornaria o trabalho impossvel, e para se
evitar trabalhar com piv prximo de zero o que pode conduzir a resultados
totalmente imprecisos, devemos contornar esses problemas utilizando uma
estratgia de pivoteamento, ou seja, adotar um processo de escolha da linha
e/ou coluna pivotal.
Estratgia de pivoteamento parcial

Esta estratgia consiste em:


i)

N o incio da etapa k da fase de eliminao, escolher para piv o

elemento de maior mdulo entre os coeficientes.

ii)

Trocar

as

linhas k e i se for

necessrio.

Fatorao de Matrizes (Mtodo LU)


Os fatores LU podem ser construdos usando a idia bsica do mtodo
de eliminao de Gauss, pois a obteno desses fatores por frmulas dificulta
o uso de estratgia de pivoteamento. Fatorando a matriz A em duas matrizes
triangulares L e U, sendo que o fator L triangular inferior com diagonal unitria
e seus elementos lij para i > j so os multiplicadores m ij obtidos no processo de
eliminao de Gauss; o fator U triangular superior e obtida no final da faze
da triangularizao.

No caso de aplicao da estratgia de pivoteamento parcial fatorao


LU ser necessrio a permutao de linhas na matriz A, obtendo-se:

Algoritmo para programao em Matlab


1 passo - Dados iniciais

A: Entrar com valores da matriz A;


B: Entrar com valores da matriz b.
Condio para a execuo do programa det(A)==0: A matiz A deve ter
determinante diferente de ZERO, garantindo que a soluo seja possvel e
determinada, se igual no realizar operao.
2 passo Verificao
[y,p]=max(abs(Ab(k:n,k))): Acha o ndice da linha com maior valor
absoluto na coluna para baixo.
A1([k p],:)=A1([p k],:); % Realiza a troca de linhas
3 passo Aplicao do algoritmo
i=k+1:n;
m=A1(i, k)/A1(k,k): Multiplicador
j=k:n+1;
A1(i,j)=A1(i,j)-m*A1(k,j): Algoritmo
4 passo - Decomposio da matriz (voltando a ser um
sistema mais simples).
A=A1(:,1:n);
b=A1(:,n+1);
5 passo - Resoluo do sistema
x(n)= b(n)/A(n,n);
s=s+A(k,j)*x(j);
x(k)=(b(k)-s)/A(k,k): Substituio regressiva
disp ('O vetor soluo e :')

Exemplo de Aplicao
John Grainger, William Stevenson, Power System Analysis, McGraw-Hill, 1994.(
Pgina 259, verso em espanhol)

Lembrando que devemos alterar o valor para

Programa Matlab
clear;
clc;

I 4=0.6 120

A=[-16.75i 11.75i 2.5i 2.5i


11.75i -19.75i 2.5i 5i
2.5i 2.5i -5.8i 0
2.5i 5i 0 -8.3i]
B=[0
0
-1i
-0.3-0.5196i]
[L,U]=lu(A)
d=L\B
X=U\d

Programa Matlab 2
% Metodo de Eliminacao de Gauss com Pivoteamento por Coluna

clear all
clc
% Entrada de dados do Sistema Linear
A=input('Coloque os Coeficientes da Matriz (A)''\n');
b=input('Vetor da Igualdade (b)''\n');
b=reshape(b,length(b),1); %transforma b em coluna
[m,n]=size(A);

%Aquisio da ordem de A por tamanho

% Verificao do Sistema
%Matriz A
if m~=n
disp('Nmero de Equaes diferente do Nmero de Incgnitas')
return
end

A')

%Vetor b
if [m,1]~=size(b)
disp('Nmero de igualdades no corresponde ao nmero de linhas de
return

end

if det(A)==0
disp('Matriz Singular ou possui Equaes Linearmente
Dependentes')
return
end
index=linspace(1,m,m);%cria um vetor com m termos, onde o ltimo
termo m e o incremento 1
% Triangularizao
% 1 Pivoteamento
for cont=1:m-1
[Y,I]=max(A(cont,cont:m));
I=I+(cont-1); %Correo do numero de colunas quando cont>1 em
cont:m
aux=A(:,cont);
A(:,cont)=A(:,I);
A(:,I)=aux;
aux=index(cont); % mudana de posiao do vetor index
index(cont)=index(I);
index(I)=aux;
%
%
%

"AUX = A
A = B
B = AUX"

% 2 Anulao dos Valores abaixo do Pivo


for cont2=cont+1:m
k=-A(cont2,cont)/Y;
A(cont2,cont:m)=A(cont2,cont:m)+k*A(cont,cont:m);
b(cont2)=b(cont2)+k*b(cont);
end

end

% Acabou

todo o pivoteamento

% Solve do sistema
x(m)=b(m)/A(m,m);
while cont>=1 % contador regressivo
aux=sum(A(cont,cont+1:m).*x(cont+1:m));

x(cont)=(b(cont)-aux)/A(cont,cont);
cont=cont-1;
if cont<1
break
end
end

Realojamento do Vetor de Incgnitas nas Posies Corretas:

for cont=1:m
for i=1:m
if index(i)==index(cont)
aux=x(index(i));
x(index(i))=x(cont);
x(cont)=aux;
aux=index(index(i));% conserta-se o index pra no repetir a
operao de troca de valor em x
index(index(i))=index(cont);
index(cont)=aux;
end
end
end
disp('Vetor de Incgnitas')
disp(x)

Referencias bibliogrficas

Mtodos Numricos Aplicados Com Matlab Para Engenheiros e Cientistas


- 3 Ed. 2013 - Steven C. Chapra

John Grainger, William Stevenson, Power System Analysis, McGraw-Hill,


1994.

Você também pode gostar