1) De posse do conhecimento da sequência molde do DNA (gene), necessária para...
Resolução de Sistemas Lineares
1. Cálculo Numérico
Resolução de Sistemas Lineares
Escalonamento de matrizes com uso do SciLab
Kleber Jacinto
Eng Eletricista – Mestre em Ciência da computação
1 23/11/12
2. Representando matrizes no Scilab
Uma Matriz é um conjunto de valores numéricos, organizados
em linhas e colunas. No Scilab, uma variável deve ser
guardada em uma variável.
•Uma matriz é SEMPRE representada entre colchetes “[ ]”;
•Os elementos de uma linha devem ser separados por
“espaço”;
•As linhas são separadas por ponto e vírgula “;”
-->L=[115 27 19 565;27 19 3 134.98;19 3 6 90]
L =
115. 27. 19. 565.
27. 19. 3. 134.98
19. 3. 6. 90.
2 23/11/12
3. Representando matrizes no Scilab
É possível extrair de uma matriz, um elemento
individualmente
-->L(1,2) //linha 1 coluna 2
ans =
27.
-->L(3,3) //linha 3 coluna 3
ans =
6.
-->L(2,4) //linha 2 coluna 4
ans =
134.98
3 23/11/12
4. Representando matrizes no Scilab
É possível extrair de uma matriz, uma linha ou coluna
individualmente
-->L(1,:) //Toda a linha 1
ans = 115. 27. 19. 565.
-->L(3,:) //Toda a linha 3
ans = 19. 3. 6. 90.
-->L(:,4) //Toda a coluna 4
ans =
565.
134.98
90.
4 23/11/12
5. Representando matrizes no Scilab
É possível extrair de sub-matriz de uma matriz existente
-->L(1:2,1:3) //sub matriz das linhas 1 e 2 e
colunas 1 a 3
ans =
115. 27. 19.
27. 19. 3.
-->L(2:3,2:4) //sub matriz das linhas 2 e 3 e
colunas 2 a 4
ans =
19. 3. 134.98
3. 6. 90.
5 23/11/12
6. Representando matrizes no Scilab
É possível realizar operação com toda a matriz ou ou um
elemento, ou uma linha ou coluna
-->L*3
ans =
345. 81. 57. 1695.
81. 57. 9. 404.94
57. 9. 18. 270.
-->L(1,1)+2
ans = 117.
-->L(1,:)*3
ans = 345. 81. 57. 1695.
6 23/11/12
7. Representando matrizes no Scilab
É possível realizar operação com toda a matriz ou ou um
elemento, ou uma linha ou coluna
-->L*3
ans =
345. 81. 57. 1695.
81. 57. 9. 404.94
57. 9. 18. 270.
-->L(1,1)+2
ans = 117.
-->L(1,:)*3
ans = 345. 81. 57. 1695.
7 23/11/12
9. Sistema de equações lineares
Solução por escalonamento da matriz
Primeiro Passo: garantir que o elemento (1,1) tenha valor 1
Dividir toda a linha pelo elemento (1,1)
-->L(1,:)=L(1,:)/L(1,1)
L =
1. 0.2347826 0.1652174 4.9130435
27. 19. 3. 134.98
19. 3. 6. 90.
9 23/11/12
10. Sistema de equações lineares
Solução por escalonamento da matriz
Segundo Passo: zerar o elemento (2,1)
Substituir a linha 2, por ela mesma menos a linha 1
multiplicada pelo elemento (2,1)
-->L(2,:)=L(2,:)-L(1,:)*L(2,1)
L =
1. 0.2347826 0.1652174 4.9130435
0. 12.66087 - 1.4608696 2.3278261
19. 3. 6. 90.
10 23/11/12
11. Sistema de equações lineares
Solução por escalonamento da matriz
Terceiro Passo: zerar o elemento (3,1)
Substituir a linha 3, por ela mesma menos a linha 1
multiplicada pelo elemento (3,1)
-->L(3,:)=L(3,:)-L(1,:)*L(3,1)
L =
1. 0.2347826 0.1652174 4.9130435
0. 12.66087 - 1.4608696 2.3278261
0. - 1.4608696 2.8608696 - 3.3478261
11 23/11/12
12. Sistema de equações lineares
Solução por escalonamento da matriz
Quarto Passo: garantir que o elemento (2,2) tenha valor 1
Dividir toda a linha pelo elemento (2,2)
-->L(2,:)=L(2,:)/L(2,2)
L =
1. 0.2347826 0.1652174 4.9130435
0. 1. - 0.1153846 0.1838599
0. - 1.4608696 2.8608696 - 3.3478261
12 23/11/12
13. Sistema de equações lineares
Solução por escalonamento da matriz
Quinto Passo: zerar o elemento (1,2)
Substituir a linha 1, por ela mesma menos a linha 2 multiplicada
pelo elemento (1,2)
-->L(1,:)=L(1,:)-L(2,:)*L(1,2)
L =
1. 0. 0.1923077 4.8698764
0. 1. - 0.1153846 0.1838599
0. - 1.4608696 2.8608696 - 3.3478261
13 23/11/12
14. Sistema de equações lineares
Solução por escalonamento da matriz
Sexto Passo: zerar o elemento (3,2)
Substituir a linha 3, por ela mesma menos a linha 2 multiplicada
pelo elemento (3,2)
-->L(3,:)=L(3,:)-L(2,:)*L(3,2)
L =
1. 0. 0.1923077 4.8698764
0. 1. - 0.1153846 0.1838599
0. 0. 2.6923077 - 3.0792308
14 23/11/12
15. Sistema de equações lineares
Solução por escalonamento da matriz
Sétimo Passo: garantir que o elemento (3,3) tenha valor 1
Dividir toda a linha pelo elemento (3,3)
-->L(3,:)=L(3,:)/L(3,3)
L =
1. 0. 0.1923077 4.8698764
0. 1. - 0.1153846 0.1838599
0. 0. 1. - 1.1437143
15 23/11/12
16. Sistema de equações lineares
Solução por escalonamento da matriz
Oitavo Passo: zerar o elemento (1,3)
Substituir a linha 1, por ela mesma menos a linha 3 multiplicada
pelo elemento (1,3)
-->L(1,:)=L(1,:)-L(3,:)*L(1,3)
L =
1. 0. 0. 5.0898214
0. 1. - 0.1153846 0.1838599
0. 0. 1. - 1.1437143
16 23/11/12
17. Sistema de equações lineares
Solução por escalonamento da matriz
Nono Passo: zerar o elemento (2,3)
Substituir a linha 1, por ela mesma menos a linha 3 multiplicada
pelo elemento (2,3)
-->L(2,:)=L(2,:)-L(3,:)*L(2,3)
L =
1. 0. 0. 5.0898214
0. 1. 0. 0.0518929
0. 0. 1. - 1.1437143
17 23/11/12
18. Sistema de equações lineares
Solução por escalonamento da matriz
Algoritmo:
1.Dividir toda a linha pelo elemento (1,1)
2.Substituir a linha 2, por ela mesma menos a linha 1 multiplicada pelo
elemento (2,1)
3.Substituir a linha 3, por ela mesma menos a linha 1 multiplicada pelo
elemento (3,1)
4.Dividir toda a linha pelo elemento (2,2)
5.Substituir a linha 1, por ela mesma menos a linha 2 multiplicada pelo
elemento (1,2)
6.Substituir a linha 3, por ela mesma menos a linha 2 multiplicada pelo
elemento (3,2)
7.Dividir toda a linha pelo elemento (3,3)
8.Substituir a linha 1, por ela mesma menos a linha 3 multiplicada pelo
elemento (1,3)
9.Substituir a linha 1, por ela mesma menos a linha 3 multiplicada pelo
elemento (2,3)
18 23/11/12
19. Sistema de equações lineares
Solução por escalonamento da matriz
Algoritmo Versão codificada para Scilab
1.L(1,:)=L(1,:)/L(1,1)
2.L(2,:)=L(2,:)-L(1,:)*L(2,1)
3.L(3,:)=L(3,:)-L(1,:)*L(3,1)
4.L(2,:)=L(2,:)/L(2,2)
5.L(1,:)=L(1,:)-L(2,:)*L(1,2)
6.L(3,:)=L(3,:)-L(2,:)*L(3,2)
7.L(3,:)=L(3,:)/L(3,3)
8.L(1,:)=L(1,:)-L(3,:)*L(1,3)
9.L(2,:)=L(2,:)-L(3,:)*L(2,3)
19 23/11/12
20. Sistema de equações lineares
Solução por escalonamento da matriz
Programa Versão Sistema 3 equações e 3 variáveis
i=1
tamanho=3
while i<=tamanho
j=1
while j<=tamanho
if L(i,i)<>1 then
L(i,:)=L(i,:)/L(i,i)
end
if i<>j then
L(j,:)=L(j,:)-(L(j,i)*L(i,:))
end
j=j+1
end
i=i+1
end
20 23/11/12