38
Sistemas de Equações Lineares Métodos Directos Computação – 2º Semestre 2016/2017

Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Embed Size (px)

Citation preview

Page 1: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Sistemas de Equações Lineares

Métodos Directos

Computação – 2º Semestre 2016/2017

Page 2: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Sistemas de Equações

Muitos princípios fundamentais em problemas de ciência e engenharia podem ser expressos em termos de equações:

Em problemas de raízes temos apenas uma equação e o objectivo é calcular os valores dos parâmetros que a satisfazem

Quando o que pretendemos modelar é constituído por várias componentes obtemos um sistema de equações:

e o objectivo é calcular os valores de x1,…, xn que satisfazem simultaneamente todas as equações.

228 Março 2017 Sistemas de Equações Lineares - Métodos Directos

externasfunções

,parâmetros ,tesindependen

variáveisdependente

variávelf

0, , ,

0, , ,

0, , ,

21

212

211

nm

n

n

xxxf

xxxf

xxxf

Page 3: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Sistemas de Equações

Exemplos:

3Sistemas de Equações Lineares - Métodos Directos

equilíbrio de massa:

massa: inputs - outputs

equilíbrio de forças:

forças horizontais = 0

forças verticais = 0

equilíbrio de corrente:

corrente (i) = 0

equilíbrio de voltagem:

iR = 0

28 Março 2017

Page 4: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Sistemas de Equações Lineares

Forma geral:

em que x1,…, xn são as incógnitas,

a11,…, ann são os coeficientes (constantes)

b1,…, bn são constantes

n é o número de equações e incógnitas

Forma matricial:

em que

4Sistemas de Equações Lineares - Métodos Directos

nnnnnn

nn

nn

bxaxaxa

bxaxaxa

bxaxaxa

2211

22222121

11212111

bAx

nnnn

n

n

aaa

aaa

aaa

A

21

22221

11211

nx

x

x

x2

1

nb

b

b

b2

1

28 Março 2017

Page 5: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Sistemas de Equações Lineares

Forma matricial:

em que

Um sistema de equações lineares é determinado se tem

uma única solução.

Um sistema de equações lineares é determinado se e

só se verificar qualquer das duas condições equivalentes:

1) A-1 existir

2) det A 0

5Sistemas de Equações Lineares - Métodos Directos

bAx

nnnn

n

n

aaa

aaa

aaa

A

21

22221

11211

nx

x

x

x2

1

nb

b

b

b2

1

28 Março 2017

Page 6: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Métodos Numéricos

Métodos Directos:

Exemplos: Regra de Cramer, Eliminação de Gauss

Teoricamente permitem calcular soluções exactas usando um

número finito de operações aritméticas elementares.

Na prática, devido aos erros de arredondamento, cancelamento subtractivo,…, calculam apenas soluções aproximadas.

Métodos Iterativos:

Exemplos: Método de Gauss-Seidel, Método de Jacobi

A solução é definida como um limite de uma sucessão (infinita) de vectores

Na prática, calcula-se apenas um número finito de vectores da sucessão, isto é, calcula-se um número finito de iterações.

6Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 7: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Matrizes

Uma matriz é um conjunto de elementos organizado em

linhas e colunas e representado por um símbolo (ex: [A]).

Uma entrada de uma matriz é um elemento (ex: a23)

7Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 8: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Matrizes

Uma sequência horizontal de elementos é uma linha e

uma sequência vertical de elementos é uma coluna.

O primeiro índice de um elemento indica a linha

enquanto que o segundo indica a coluna.

O tamanho de uma matriz é indicado como m linhas

por n colunas, ou simplesmente m por n (ou m n).

matrizes 1 n são vectores linha.

matrizes m 1 são vectores coluna.

8Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 9: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Matrizes Especiais

Matrizes com m=n são denominadas matrizes quadradas.

Existem várias matrizes quadradas especiais:

Symmetric

A

5 1 2

1 3 7

2 7 8

Diagonal

A

a11

a22

a33

Identity

A

1

1

1

Upper Triangular

A

a11 a12 a13

a22 a23

a33

Lower Triangular

A

a11

a21 a22

a31 a32 a33

Banded

A

a11 a12

a21 a22 a23

a32 a33 a34

a43 a44

9Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 10: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Operações com Matrizes

Duas matrizes são iguais se e só se:

São do mesmo tamanho

Todos os elementos correspondentes são iguais

A adição e subtracção de matrizes são efectuadas por

adição e subtracção dos elementos correspondentes.

(as matrizes têm que ter o mesmo tamanho)

A multiplicação de uma matriz por um escalar é obtida

por multiplicação de cada elemento pelo escalar.

10Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 11: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Multiplicação de Matrizes

Os elementos da matriz [C] que resulta da

multiplicação de [A] e [B] são:

cij aikbk jk1

n

11Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 12: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Matriz Inversa e Transposta

A inversa de uma matriz quadrada [A] é a matriz [A]-1 que,

quando multiplicada por [A], resulta na matriz identidade [I]:

[A][A]-1=[A]-1[A]=[I]

A transposta de uma matriz corresponde a trocar as linhas

pelas colunas:

(aij)T=aji

12Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 13: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Representação de Álgebra Linear

As matrizes permitem uma notação concisa para a

representação e resolução de sistemas de equações lineares:

a11x1 a12x2 a13x3 b1

a21x1 a22x2 a23x3 b2

a31x1 a32x2 a33x3 b3

a11 a12 a13

a21 a22 a23

a31 a32 a33

x1

x2

x3

b1

b2

b3

[A]{x}{b}

13Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 14: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Resolução com o MATLAB

O MATLAB oferece duas formas directas de resolver sistemas de equações lineares [A]{x}={b}:

Divisão-à-esquerdax = A\b

Matriz inversa x = inv(A)*b

A matriz inversa é menos eficiente que a divisão-à-esquerda

14Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 15: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método Gráfico

Para duas equações:

resolver ambas em ordem a x2:

obtendo-se rectas:

desenhar as rectas e localizar

a sua intersecção

15Sistemas de Equações Lineares - Métodos Directos

2222121

1212111

bxaxa

bxaxa

intercept(slope) 12 xx

22

21

22

212

12

11

12

112

a

bx

a

ax

a

bx

a

ax

28 Março 2017

Page 16: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método Gráfico

Pode ajudar a detectar casos em que:

a) Não existem soluções

b) Existem infinitas soluções

c) O problema é mal condicionado

16Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 17: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Determinantes

O determinante D=|A| de uma matriz A é calculado a partir dos

seus elementos:

Determinantes de matrizes maiores que 3 x 3 podem ser muito

complicados de calcular.

3231

222113

3331

232112

3332

232211

333231

232221

131211

211222112221

1211

1111

33

22

11

aa

aaa

aa

aaa

aa

aaa

aaa

aaa

aaa

aaaaaa

aa

aa

17Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 18: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Determinantes

Exemplos:

18Sistemas de Equações Lineares - Métodos Directos

812232123

D

28 Março 2017

Page 19: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Determinantes

Exemplos:

19Sistemas de Equações Lineares - Métodos Directos

12

1

12

1

D

21

12

1

D

04.05

3.211

2

1

0

2

111

2

1

0112

2

1

15

3.2

12

1

D

28 Março 2017

Page 20: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Regra de Cramer

Se Ax=b é a forma matricial de um sistema de equações

lineares onde a matriz A é invertível, então:

onde Ai é a matriz que se obtém de A substituindo a

coluna i pelo vector b

A Regra de Cramer exige o cálculo de n+1 determinantes

de ordem n, o que conduz a uma complexidade O(n!)

É impraticável para sistemas com mais que 3 equações.

20Sistemas de Equações Lineares - Métodos Directos

niD

D

A

Ax ii

i ,,2,1,det

det

28 Março 2017

Page 21: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Regra de Cramer

Usar a Regra de Cramer para resolver:

Calcular o determinante D

0.3x1 0.52x2 x3 0.01

0.5x1 x2 1.9x3 0.67

0.1x1 0.3x2 0.5x3 0.44

D

0.3 0.52 1

0.5 1 1.9

0.1 0.3 0.5

0.31 1.9

0.3 0.50.52

0.5 1.9

0.1 0.51

0.5 1

0.1 0.4 0.0022

21Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 22: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Regra de Cramer

Usar a Regra de Cramer para resolver:

Calcular os determinantes Di substituindo a i-ésima coluna por b

0.3x1 0.52x2 x3 0.01

0.5x1 x2 1.9x3 0.67

0.1x1 0.3x2 0.5x3 0.44

03278.03.044.0

167.01

5.044.09.167.0

52.05.03.09.11

01.05.03.044.09.1167.0

152.001.0

1

D

22Sistemas de Equações Lineares - Métodos Directos

D2

0.3 0.01 1

0.5 0.67 1.9

0.1 0.44 0.5

0.30.67 1.9

0.44 0.50.01

0.5 1.9

0.1 0.51

0.5 0.67

0.1 0.44 0.0649

04356.03.01.0

15.001.0

44.01.067.05.0

52.044.03.0

67.013.0

44.03.01.067.015.001.052.03.0

3

D

28 Março 2017

Page 23: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Regra de Cramer

Usar a Regra de Cramer para resolver:

Calcular a solução:

0.3x1 0.52x2 x3 0.01

0.5x1 x2 1.9x3 0.67

0.1x1 0.3x2 0.5x3 0.44

9.140022.0

03278.011

D

Dx

23Sistemas de Equações Lineares - Métodos Directos

x2 D2

D

0.0649

0.0022 29.5

8.190022.0

04356.033

D

Dx

28 Março 2017

Page 24: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Regra de Cramer

Exemplo MATLAB:>> A=[0.3 0.52 1;0.5 1 1.9;0.1 0.3 0.5];

>> D=det(A)

D =

-0.0022

>> A1=A; A1(:,1)=[-0.01;0.67;-0.44], x1=det(A1)/D

A1 =

-0.0100 0.5200 1.0000

0.6700 1.0000 1.9000

-0.4400 0.3000 0.5000

x1 = -14.9000

>> A2=A; A2(:,2)=[-0.01;0.67;-0.44]; x2=det(A2)/D

x2 = -29.5000

>> A3=A; A3(:,3)=[-0.01;0.67;-0.44]; x3=det(A3)/D

x3 = 19.8000

0.3x1 0.52x2 x3 0.01

0.5x1 x2 1.9x3 0.67

0.1x1 0.3x2 0.5x3 0.44

24Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 25: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss

Transformar o sistema original Ax=b num sistema equivalente, mas cuja matriz seja triangular (de fácil resolução)

Dois sistemas de equações lineares dizem-se equivalentes se possuírem o mesmo conjunto de soluções.

Cada sistema de equações lineares Ax=b tem associada a sua matriz ampliada:

A matriz triangular é obtida por uma sequência de operações elementares sobre A’ que preservam a equivalência:

permutação de duas linhas

multiplicação de uma linha por um escalar não nulo

soma a uma linha do produto de outra linha por um escalar.25Sistemas de Equações Lineares - Métodos Directos

nnnnn

n

n

b

b

b

aaa

aaa

aaa

A

2

1

21

22221

11211

28 Março 2017

Page 26: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss Naïve

“Naïve” significa que não são considerados

os problemas resultantes da divisão por zero

Eliminação

Começando na 1ª linha, adicionar ou subtrair

múltiplos dessa linha para eliminar o 1º

coeficiente das linhas seguintes.

Continuar o processo na 2ª linha para

remover o 2º coeficiente das linhas seguintes.

Parar quando se obtiver uma matriz triangular.

Substituição

Começando na última linha, resolver a

incógnita, e introduzir o resultado obtido na

linha imediatamente superior.

Porque a matriz é triangular, ao continuar o

processo para cada linha superior podem ser

resolvidas todas as incógnitas.

26Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 27: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss Naïve

Exemplo:

Eliminação:

multiplicar a 1ª linha por 0.1/3 e subtrair o resultado à 2ªlinha

multiplicar a 1ª linha por 0.3/3 e subtrair o resultado à 3ªlinha:

multiplicar a 2ª linha por -0.19/7.00333 e subtrair o resultado à 3ªlinha:

27Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 28: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss Naïve

Exemplo:

Substituição:

resolver a 3ª equação:

resolver a 2ª equação:

resolver a 1ª equação:

28Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 29: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss Naïvefunction x = GaussNaive(A,b)

% GaussNaive: naive Gauss elimination

% x = GaussNaive(A,b): Gauss elimination without pivoting.

% input:

% A = coefficient matrix

% b = right hand side vector

% output:

% x = solution vector

[m,n] = size(A);

if m~=n, error('Matrix A must be square'); end

nb = n+1;

Aug = [A b];

29Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 30: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss Naïve% forward elimination

for k = 1:n-1

for i = k+1:n

factor = Aug(i,k)/Aug(k,k);

Aug(i,k:nb) = Aug(i,k:nb)-factor*Aug(k,k:nb);

end

end

% back substitution

x = zeros(n,1);

x(n) = Aug(n,nb)/Aug(n,n);

for i = n-1:-1:1

x(i) = (Aug(i,nb)-Aug(i,i+1:n)*x(i+1:n))/Aug(i,i);

end

30Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 31: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss Naïve

Número de operações de vírgula-flutuante (flops) num sistema nxn

Eliminação:

31Sistemas de Equações Lineares - Métodos Directos

)(3

2)2)(()1)(( 2

31

1

1

1

nOn

knknknknn

k

n

k

Adições/Subtracções Multiplicações/Divisões

28 Março 2017

Page 32: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss Naïve

Número de operações de vírgula-flutuante (flops) num sistema nxn

O tempo de execução aumenta muito com o tamanho do sistema.

A eliminação é a componente computacional mais crítica

32Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 33: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss Naïve

No entanto é muito mais eficiente que a regra de Cramer!

Comparação do tempo de execução na resolução de um sistema

de equações lineares nxn, num supercomputador Cray J90:

33Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 34: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss

Com o método naïve surgem problemas se um coeficiente na diagonal (pivot) é 0 (problema: divisão por 0) ou próximo de 0 (problema: erros de arredondamento)

Evitam-se estes problemas com técnicas de selecção de pivot: Determinação da linha com o coeficiente de maior valor

absoluto abaixo do elemento pivot

Troca das respectivas linhas

A técnica que introduz esta troca de linhas denomina-se pivotação parcial.

Se também for permitido troca de colunas denomina-se pivotação total.

34Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 35: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss

Exemplo:

Versão naïve: (solução → x1=1/3, x2 = 2/3)

multiplicar a 1ª linha por 1/0.0003 e subtrair o resultado à 2ªlinha:

resolver as equações: x2 = 2/3

sensível aos erros de arredondamento:

35Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 36: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss

Exemplo:

Versão com pivotagem: (solução → x1=1/3, x2 = 2/3)

trocar a 1ª linha com a 2ªlinha:

eliminar e resolver as equações: x2 = 2/3

pouco sensível aos erros de arredondamento:

36Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 37: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gaussfunction x = GaussPivot(A,b)

% GaussPivot: Gauss elimination pivoting

% x = GaussPivot(A,b): Gauss elimination with pivoting.

% input:

% A = coefficient matrix

% b = right hand side vector

% output:

% x = solution vector

[m,n]=size(A);

if m~=n, error('Matrix A must be square'); end

nb=n+1;

Aug=[A b];

37Sistemas de Equações Lineares - Métodos Directos28 Março 2017

Page 38: Sistemas de Equações Lineares Métodos Directoscomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT4.pdf · Sistemas de Equações Muitos princípios fundamentais em problemas de ciência

Método de Eliminação de Gauss% forward elimination

for k = 1:n-1

% partial pivoting

[big,i]=max(abs(Aug(k:n,k)));

ipr=i+k-1;

if ipr~=k

Aug([k,ipr],:)=Aug([ipr,k],:);

end

for i = k+1:n

factor=Aug(i,k)/Aug(k,k);

Aug(i,k:nb)=Aug(i,k:nb)-factor*Aug(k,k:nb);

end

end

% back substitution

x=zeros(n,1);

x(n)=Aug(n,nb)/Aug(n,n);

for i = n-1:-1:1

x(i)=(Aug(i,nb)-Aug(i,i+1:n)*x(i+1:n))/Aug(i,i);

end

38Sistemas de Equações Lineares - Métodos Directos28 Março 2017