Logo Passei Direto
Buscar
Material

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Exercícios em aula MAT01032.pdf
Exercícios em aula MAT01032 
1) Resolver o sistema [
 
 
 
 
] [
 
 
 
 
] através do método de Jacobi, a uma 
tolerância de 0,1. 
2) Resolver o sistema [
 
 
 
] [
 
 
 
] através dos métodos de Jacobi e de Gauss-
Seidel, a uma tolerância de 0,1. 
3) Resolver o sistema [
 
 
 
] [
 
 
 
] através dos métodos de Jacobi a uma 
tolerância de 0,1 e da eliminação gaussiana com pivotamento. 
4) Resolver o sistema [
 
 
 
] [
 
 
 
] através do método SOR, com , a 
uma tolerância de 0,01. 
5) Calcula a inversa da matriz 
[
 
 
 
 
] utilizando a fatoração 
LUP. Matrizes como esta surgem no contexto de transformação de cenas sintéticas em 
Computação Gráfica (produto de matrizes de transformação); a sua inversa é 
necessária para transformar pontos em coordenadas homogêneas no sistema de 
referência do dispositivo para o sistema de referência do universo. 
Lista 2 - Raízes de funções não-lineares.pdf
 
_____________________________________________________________________________________ 
Lista 2 - Raízes de funções não-lineares Página 1 04/09/2013 
 
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL 
INSTITUTO DE MATEMÁTICA 
DEPARTAMENTO DE MATEMÁTICA PURA E APLICADA 
MAT01032 – CÁLCULO NUMÉRICO A – TURMA A 
SEMESTRE 2013/2 
PROF. RESPONSÁVEL: RUDNEI DIAS DA CUNHA 
 
 
LISTA DE EXERCÍCIOS Nº 2 – RAÍZES DE FUNÇÕES NÃO-LINEARES 
1. Calcule, através do método de Newton-Raphson, todas as raízes reais da função ( ) 
 ( ) no intervalo [-5;5]. 
2. Calcule as intersecções da curva ( ) ( ) 
 
 
 com o círculo unitário centrado na 
origem, usando o método da bissecção. 
3. Calcule as intersecções das curvas 
 
( ) e ( ) , utilizando o método da 
secante. 
4. Calcule as três primeiras raízes positivas de 
 
 
 usando o método de Newton-
Raphson. Após, repita para 
 
 
 e explique quaisquer diferenças que tenham ocorrido. 
5. Considere a função ( ) e a sua expansão em série de Taylor, 
 
 
 
 
 
 
 
 
 
 
 
 
 ( ). Agora, compare a avaliação de ( ) em e em usando: 
a) a derivada da série, truncada em quatro termos; 
b) a aproximação da derivada por ( ( ) ( )) , com e e 
c) a aproximação da derivada por ( ( ) ( )) , com e e 
d) a aproximação da derivada por ( ( ) ( )) ( ), com e . 
O que se pode dizer a respeito? 
6. Calcule as raízes de ( )( ) ( ) combinando o método da 
bisseccção com o método de Newton-Raphson com aproximação numérica da derivada; o 
método da bissecção deverá ser usado até que o comprimento do intervalo de busca seja menor 
do que 10
-3
, quando então o método de Newton-Raphson deverá passar a ser usado, até que uma 
raiz seja encontrada, tal que| ( )| . 
7. Calcule todas as raízes (inclusive as complexas) de . 
8. Considere a função ( ) no intervalo . Usando o valor de , 
explique o que ocorre com o método de Newton-Raphson quando usado com . 
9. A solução de um sistema de equações diferenciais ordinárias num modelo presa-predador resulta 
nas equações ( ) 
 
 
 
 
 ⁄ 
 
 
 
 
 ⁄ e ( ) 
 
 ⁄ 
 
 ⁄ , onde e 
representam as populações predadoras e presas, respectivamente. Determine: a) quando as duas 
populações se igualam e b) quando a população se extingue. 
10. O método de Halley é definido através da sua equação governante, 
 
 ( )
 ( )
( 
 ( )
 ( )
 ( )
 ( )
)
 
 
Calcule a raiz contida no intervalo da função ( ) ( ) , usando 
 e compare com o método de Newton-Raphson. 
Lista 3 - Sistemas de Equações Lineares.pdf
 
_____________________________________________________________________________________ 
Lista 3 - Sistemas de Equações Lineares Página 1 23/09/2013 
 
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL 
INSTITUTO DE MATEMÁTICA 
DEPARTAMENTO DE MATEMÁTICA PURA E APLICADA 
MAT01032 – CÁLCULO NUMÉRICO A – TURMA A 
SEMESTRE 2013/2 
PROF. RESPONSÁVEL: RUDNEI DIAS DA CUNHA 
 
 
LISTA DE EXERCÍCIOS Nº 3 – SISTEMAS DE EQUAÇÕES LINEARES 
1. Resolva o sistema de equações {
 
 
 
utilizando: a) 
eliminação gaussiana sem pivotamento; b) eliminação gaussiana com pivotamento. 
2. Resolva o sistema de equações 
[
 
 
 
 
 
 
 
 
 ]
 
 
 
 
 
[
 
 
 
 
 
 
 
 
 ]
 
 
 
 
 utilizando eliminação 
gaussiana com pivotamento. 
3. Calcule a fatoração LUP da matriz [
 
 
 
], mostrando os fatores , e a matriz de 
permutação . 
4. Seja a matriz [
 
 
 
 
]. Indique quais serão os pivôs escolhidos durante a fatoração 
LUP, considerando o vetor de fatores de escala ( ). 
5. Mostre como a fatoração LUP é efetuada sobre a matriz [
 
 ⁄ 
 ⁄ 
], indicando quais os 
multiplicadores calculados, o vetor de permutação e o vetor de fatores de escala. 
6. Calcule a fatoração LUP da matriz [
 
 
 
]. Efetue as operações aritméticas 
com apenas três casas decimais e arredondamento por corte. 
7. O refinamento iterativo é utilizado normalmente em conjunto com a fatoração LUP, a fim de 
melhorar a qualidade numérica da solução obtida resolvendo-se os sistemas e . 
Mostre como o resíduo , utilizado no refinamento iterativo, deve ser calculado uma 
vez que A tenha sido fatorada como . 
8. Determine quantas multiplicações são efetuadas no algoritmo da fatoração LUP para: a) uma 
matriz de ordem n, completa; b) uma matriz de ordem n, tridiagonal. 
9. Sabendo que o determinante de uma matriz triangular é o produto dos seus elementos na 
diagonal principal, mostre como a eliminação gaussiana com pivotamento pode ser usada para 
calcular o determinante da matriz [
 
 
]. Generalize para matrizes de qualquer ordem n. 
10. Resolva os sistemas abaixo através do método de Gauss-Seidel e compare com o que ocorre caso 
os mesmos fossem resolvidos através do método da eliminação gaussiana sem pivotamento: 
a) {
 
 
 
 
b) {
 
 
 
 
 
_____________________________________________________________________________________ 
Lista 3 - Sistemas de Equações Lineares Página 2 23/09/2013 
 
11. Mostre o que ocorre com o método de Gauss-Seidel quando resolvemos o sistema 
[
 
 
 
] [
 
 
 
]. 
12. Mostre o que ocorre com o método de Gauss-Seidel quando resolvemos o sistema 
[
 
 
] [
 
 
], usando ( ) ( ). 
13. Resolva o sistema [
 
 
 
 
] 
[
 
 
 
 
 
 
 ⁄
 
 ⁄
 
 ⁄
 
 ⁄ ]
 
 
 
 
 
, usando: a) o método de Jacobi; b) o método 
SOR, com . Compare quantas iterações foram necessárias para reduzir a norma do 
resíduo, ‖ ‖
por um fator de 
 . O vetor inicial a ser usado é ( ). 
ex_aula
1) Calcular a raiz positiva de sin(exp(-x)) - 0.03125 = 0, usando método da secante com
a) x0 = 10, x1 = 11
b) x0 = 0.5, x1 = 4
2) Enumerar, localizar e calcular as raizes de 2*x^5 + x^3 - 1.002*x^2 - 1.010023*x - 1.9880 = 0
3) Enumerar, localizar e calcular as raízes de x^3-1.0020*x^2-1.0100*x+1.0121 = 0 com apenas 4 cassas decimais e usando arredontamento por corte (fazer à mão)
scripts/LU.sce
[L,U,P] = lu(A) // fatoração LU
invT=eye(4,4)
for j=1:4
 // resolve Ly=Pb
 y=L\(P*invT(:,j))
 // resolve Ux=y
 invT(:,j) = ........
end
scripts/bissec.sce
function y=ex2(x)
 y = (x-1)^2*(x+1)^2+1/4-sqrt(1-x^2);
endfunction
// o método_ de newton aqui faria uma lambança
function c=bissec(a,b,kmax,d,erro)
 u = ex2(a)
 v = ex2(b)
 e = a-b
 if sign(u) == sign(v) then
 return 0
 end
 k = 1
 w = 1
 while (k <= kmax) & (abs(e) >= d) & (abs(w) >= e),
 printf ("ada");
 e = e/2
 c = a + e
 w = ex2(c)
 if sign(w) ~= sign(u) then
 b = c
 v = w
 end
 a = c
 u = w
 k = k + 1
 end
endfunction
j = bissec (-1,0.5,1000,0.0001,0.0001)
scripts/lista-aula-ex1.sce
A = [4,-1,-1,0;
 -1,4,0,-1;
 -1,0,4,-1,
 0,-1,-1,4]
b = [0;0;1;1]
x0 = [0;0;1/4;1/4] // estimativa inicial
tol = 0.000001
kmax = 100
D = diag(diag(A)) // matriz da diagonal
k = 0
// JACOBI!!!!!!!!!!
r0 = inv(D)*(b-A*x0)
while norm(r0) > tol & k < kmax
 r0 = inv(D)*(b-A*x0)
 x0 = x0 + r0
 k = k + 1
end
scripts/lista-aula-ex2.sce
A = [1,0,0;
 0,1,0;
 1,0,1]
b = [1;0;1]
// Jacobi
x0 = [1;0;1]
D = diag(diag(A))
tol = 0.1
kmax = 100
k = 0
r0 = inv(D)*(b-A*x0)
while norm(r0) > tol & k < kmax
 r0 = inv(D)*(b-A*x0)
 x0 = x0 + r0
 k = k + 1
end
// Gauss-Seidel
x0 = [1;0;1]
tol = 0.1
G = eye(A) + inv(D)*(tril(A) - diag(diag(A)))
H = -inv(D)*(triu(A) - diag(diag(A)))
while norm(b-A*x0) > tol & k < kmax
 x0 = G\(H*x0 + inv(D)*b)
end
// Jacobi
// dado x0, calcula r(k) = inv(D)*(b-A*x(k))
// verifica se ||r(k)|| < tol
// corrige x(k+1) = x(k) + r(k)
// Gauss-Seidel
// Calcula G = I + inv(D)*AL e H = -inv(D)*AU
// onde AL = tril(A) - diag (diag(A))
// e AU = triu(A) - diag(diag(A))
// dado x0, resolve o sistema G*x(k+1) = H*x(k) + inv(D)*b
// até que ||b-A*x(k)|| < tol
// Dicas para o Gauss-Seidel: olhar a expressão governante
// eye(A) obtém a matriz identidade de A
// G=eye(A)+.25*[0 0 0 0;-1 0 0 0;-1 0 0 0;] bla bla
// SOR
// Calcula x(k+1) pelo Gauss-Seidel e depois corrige
// x(k+1) = w*x(k+1) + (1-w)*x(k)
// w - parâmetro de relaxação
scripts/lista-aula-ex3.sce
A_ = [2,1,3;
 4,2,4;
 2,0.99,6]
A = [2,1,3,0;
 2,1,2,1;
 2,0.99,6,-3]
b = [0;2;-3]
// Para resolver o exercício, primeiro escalonei a matriz e depois executei
// os processos iterativos
pivo = A(1,1);
A(2,1:4) = A(1,1:4)*-2/pivo + A(2,1:4);
A(3,1:4) = A(1,1:4)*-2/pivo + A(3,1:4);
A = [2,1,3;
 0,-0.01,3;
 0,0,-1]
b = [0;-3;1]
// Jacobi
x0 = [0;0;0]
D = diag(diag(A))
tol = 0.1
kmax = 100
k = 0
r0 = inv(D)*(b-A*x0)
while norm(r0) > tol & k < kmax
 r0 = inv(D)*(b-A*x0)
 x0 = x0 + r0
 k = k + 1
end
// Gauss-Seidel
x1 = [0;0;0]
G = eye(A) + inv(D)*(tril(A) - diag(diag(A)))
H = -inv(D)*(triu(A) - diag(diag(A)))
while norm(b-A*x1)
 x1 = G\(H*x1 + inv(D)*b)
end
scripts/lista-aula-ex3_2.sce
A = [2,1,3;
 4,2,4;
 2,0.99,6]
b = [0;2;-3]
scripts/lista-aula-ex4.sce
A = [1,-1,0;
 1,1,-1;
 0,1,1]
b = [1;0;1] 
// SOR 
D = diag(diag(A))
w = 0.5
k = 0
kmax = 100
tol = 0.01
x0 = [1;1;1] // estimativa inicial
G = eye(A) + inv(D)*(tril(A) - diag(diag(A)))
H = -inv(D)*(triu(A) - diag(diag(A)))
while norm(b-A*x0) > tol & k < kmax
 x1 = G\(H*x0 + inv(D)*b)
 x1 = w*x1 + (1-w)*x0 // corrige x1
 x0 = x1
 k = k + 1
end
scripts/lista-aula2-ex1.sce
function y=ex_a1(x)
 y = sin(exp(-x)) - 0.03125;
endfunction
function g=sec(x0,x1)
 g = x1 - ex_a1(x1)*(x1-x0)/(ex_a1(x1)-ex_a1(x0))
endfunction
x0 = 10
x1 = 11
x2 = sec(x0,x1)
kmax = 100
i = 0
while abs(ex_a1(x2)) > 0.00001 & i < kmax,
 x0 = x1
 x1 = x2
 x2 = sec (x0,x1)
 i = i + 1
end
scripts/lista-aula2-ex1.sce~
function y=ex_a1(x)
 y = sin(exp(-x)) - 0.03125;
endfunction
function g=sec(x0,x1)
 g = x1 - ex_a1(x1)*(x1-x0)/(ex_a1(x1)-ex_a1(x0))
endfunction
x0 = 10
x1 = 11
x2 = sec(x0,x1)
kmax = 100
i = 0
while abs(ex_aula1(x2)) > 0.0001 & i < kmax,
 x0 = x1
 x1 = x2
 x2 = sec (x0,x1)
 i = i + 1
end
scripts/lista-aula2-ex2.sce
function y=ex_a2(x)
 y = 2*x^5 + x^3 - 1.002*x^2 - 1.010023*x - 1.9880;
endfunction
function k=kojima(a,an,i,n)
 k = abs((a/an))^(1/(n-i))
endfunction
function g=newton(x)
 g = (x - ex_a2(x)/derivative(ex_a2,x));
endfunction
n = 5
printf ("%f\n", kojima(0,2,4,5));
printf ("%f\n", kojima(1,2,3,5));
printf ("%f\n", kojima(-1.002,2,2,5));
printf ("%f\n", kojima(-1.010023,2,1,5));
printf ("%f\n", kojima(-1.9880,2,0,5));
x0 = 1
kmax = 1000
i = 0
while abs(ex_a2(x0)) > 0.000001 & i < kmax,
 x1 = newton(x0);
 x0 = x1;
 i = i + 1;
end
scripts/lista-aula2-ex2.sce~
function k=kojima(a,an,i,n)
 k = abs((a/an))^1/(n-i)
endfunction
n = 5
printf ("%f\n", kojima(0,2,4,5));
printf ("%f\n", kojima(1,2,3,5));
printf ("%f\n", kojima(-1.002,2,2,5));
printf ("%f\n", kojima(-1.010023,2,1,5));
printf ("%f\n", kojima(-1.9880,2,0,5));
scripts/lista2-ex1.sce
function y=ex1(x)
 y = exp(sin(x))-2*cos(3*x);
endfunction
function g=newton(x)
 g = (x - ex1(x)/derivative(ex1,x));
 return g;
endfunction
i = 0;
x0 = 5 // solução para esta estimativanão está correta?
x1 = newton (x0);
while abs (ex1(x1)) > 0.00001,
 x1 = newton (x0);
 x0 = x1;
 i = i + 1
end
scripts/lista2-ex1.sce~
function y=ex1(x)
 y = exp(sin(x))-2*cos(3*x);
endfunction
function g=newton(x)
 g = (x - ex1(x)/derivative(ex1,x));
endfunction
i = 0;
x0 = 5 // solução para esta estimativanão está correta?
x1 = newton (x0);
while abs (ex1(x1)) > 0.00001,
 x1 = newton (x0);
 x0 = x1;
 i = i + 1
end
scripts/lista2-ex10.sce
function y=ex10(x)
 y=tan(x)-30
endfunction
function g=halley(x)
 g=x-((ex10(x)/derivative(ex10,x))*(1-(ex10(x)*2*tan(x)*(sec(x)^2)/(derivative(ex10,x)*2*derivative(ex10,x)))))
endfunction
function g=newton(x)
 g = (x - ex10(x)/derivative(ex10,x));
 return g;
endfunction
//x0 = 1
//x1 = halley(x0)
//x2 = halley(x1)
i = 0;
x0 = 1.57
x1 = halley (x0);
kmax = 100
while abs (ex10(x1)) > 0.00001 & i < kmax,
 x1 = halley (x0);
 x0 = x1;
 i = i + 1
end
scripts/lista2-ex2.sce
function y=ex2(x)
 y = (x-1)^2*(x+1)^2+1/4-sqrt(1-x^2);
endfunction
function c=bissec(a,b,kmax,d,erro)
 u = ex2(a)
 v = ex2(b)
 e = b-a
 if sign(u) == sign(v) then
 printf ("não pode proceder\n");
 else
 k = 1
 w = 1
 while (k <= kmax) & (abs(e) >= d) & (abs(w) >= erro),
 e = e/2
 c = a + e
 w = ex2(c)
 if sign(w) ~= sign(u) then
 b = c
 v = w
 else
 a = c
 u = w
 end
 k = k + 1
 end
 end
 printf ("%d\n", k);
endfunction
x1 = bissec (-1,0.5,20,0.00001,0.00001)
x2 = bissec (-0.5,0.25,20,0.00001,0.00001)
x3 = bissec (0.25,0.5,20,0.00001,0.00001)
x4 = bissec (0.5,1,20,0.00001,0.00001)
raizes = [x1,x2,x3,x4]
scripts/lista2-ex3.sce
function y=ex3(x)
 y = exp(sin(x))-2*cos(3*x);
endfunction
function g=sec(x0,x1)
g = x1 - ex3(x1)*(x1-x0)/(ex3(x1)-ex3(x0))
endfunction
x0 = 4;
x1 = 5;
x2 = sec (x0,x1);
while abs(ex3(x2)) > 0.0001,
 x0 = x1;
 x1 = x2;
 x2 = sec (x0,x1);
end
scripts/lista2-ex4.sce
function y=ex4(x)
 y = sin(x)-(2/x)*cos(x)
endfunction
function m=ex4_2(x)
 m = tan(x) - 2/x
endfunction
function g=newton(x)
 g = (x - ex4_2(x)/derivative(ex4_2,x));
 return g;
endfunction
i = 0;
x0 = 0.01
x1 = newton (x0);
while abs (ex4_2(x1)) > 0.001,
 x1 = newton (x0);
 x0 = x1;
 i = i + 1
end
// ex4
// x0 = 0.01, i = 10, raiz = 1.0768735
// x0 = 3.2, i = 2, raiz = 3.6435729
// x0 = 6, i = 2, raiz = 6.5780962
// ex4_2
// x0 = 6, i = 2, raiz = 6.5785851
// x0 = 3.2, i = 2, raiz = 3.6440048
// x0 = 0.01, i = 9, raiz = 1.0769327
scripts/lista2-ex6.sce
function y=ex6(x)
 y = (x-0.6)*(x-1.3)^2*(x-2)^3+0.01234*log(x);
endfunction
function g=newton(x,h)
 // g = (x - ex6(x)/derivative(ex6,x));
 g = x - ex6(x)/((ex6(x+h) - ex6(x))/h);
endfunction
function c=bissec(a,b,kmax,d,erro)
 u = ex6(a)
 v = ex6(b)
 e = b-a
 if sign(u) == sign(v) then
 printf ("não pode proceder\n");
 else
 k = 1
 w = 1
 while (k <= kmax) & (abs(e) >= d) & (abs(w) >= erro),
 e = e/2
 c = a + e
 w = ex6(c)
 if sign(w) ~= sign(u) then
 b = c
 v = w
 else
 a = c
 u = w
 end
 k = k + 1
 end
 end
 printf ("%d\n", k);
endfunction
c = bissec(1,2.5,100,10^-3,10^-3)
x0 = c
kmax = 1000
i = 0
while abs(ex6(x0)) > 0.000001 & i < kmax,
 x1 = newton(x0,10^(-10));
 x0 = x1;
 i = i + 1;
end
scripts/lista2-ex8.sce
function y=ex8(x)
 y = exp(-1000*x)-10
endfunction
function g=newton(x)
 g = (x - ex8(x)/derivative(ex8,x));
endfunction
x0 = 0.01
i = 0
kmax = 100
while abs(ex8(x0)) > .0001 & i < kmax,
 x1 = newton(x0)
 x0 = x1
 i = i + 1
end
// Como a derivada cresce muito rapidamente à medida em que x < -1,
// ocorre overflow.
scripts/lista3-ex1a.sce
A = [0.2641,0.1735,0.8624,0.4127;
 0.3475,1.8423,0.4759,1.7321;
 -0.8468,0.4759,1.2147,-0.8621]
b = [0.4127;1.7321;-0.8621]
pivo = A(1,1)
for i=1:4
 A(2,i) = A(1,i)*(-0.3475)/pivo + A(2,i);
 A(3,i) = A(1,i)*(0.8468)/pivo + A(3,i);
end
div = -A(3,2)
pivo = A(2,2)
for i=2:4
 A(3,i) = A(2,i)*div/pivo + A(3,i);
end
// Para os próximos cáculos, a coluna 4 faz as vezes do vetor b
x3 = A(3,4)/A(3,3);
x2 = (A(2,4) - A(2,3)*x3)/A(2,2);
x1 = (A(1,4) - A(1,3)*x3 - A(1,2)*x2)/A(1,1);
x = [x1;x2;x3]
scripts/lista3-ex1b.sce
// vetor de pivotamento = (3,2,1)
A_ = [0.2641,0.1735,0.8624;
 0.3475,1.8423,0.4759;
 -0.8468,0.4759,1.2147]
A = [0.2641,0.1735,0.8624,0.4127;
 0.3475,1.8423,0.4759,1.7321;
 -0.8468,0.4759,1.2147,-0.8621]
b = [0.4127;1.7321;-0.8621]
pivo = A(3,1)
for i=1:4
 A(2,i) = A(3,i)*(-0.3475)/pivo + A(2,i);
 A(1,i) = A(3,i)*(-0.2641)/pivo + A(1,i);
end
pivo = A(2,2)
div = -A(1,2)
for i=2:4
 A(1,i) = A(2,i)*div/pivo + A(1,i);
end
// Para efeito de cálculo, a coluna 4 de A fará as vezes do vetor b
x3 = A(1,4)/A(1,3);
x2 = (A(2,4) - A(2,3)*x3)/A(2,2);
x1 = (A(3,4) - A(3,3)*x3 - A(3,2)*x2)/A(3,1);
x = [x1;x2;x3]
scripts/lista3-ex2.sce
A_ = [0,4,0,0,0;
 0,0,5,0,0;
 1,0,0,6,0;
 0,2,0,0,7;
 0,0,3,0,0]
A = [1,0,0,6,0,4;
 0,4,0,0,0,-4;
 0,2,0,0,7,12;
 0,0,5,0,0,0;
 0,0,3,0,0,0]
b = [-4;0;4;12;0]
// vetor pivotamento -> (3,1,2,4,5)
pivo = A(2,2)
A(3,2) = A(2,2)*(-2)/pivo + A(3,2);
A(3,6) = A(2,6)*(-2)/pivo + A(3,6);
pivo = A(4,3)
A(5,3) = A(4,3)*(-3)/pivo + A(5,3);
x5 = 2
x3 = 0
x2 = -1
x4 = 1 // x4 = 4-x1/6
x1 = -2 // x1 = 4-6*x4
x = [x1;x2;x3;x4;x5]
scripts/lista3-ex3.sce
A_ = [3 2 -1
 6 6 2
 -1 1 3]
A = [3 2 -1
 3 3 1
 -1 1 3]
// vetor pivotamento -> (1,2,3)
pivo = A(1,1)
for i = 1:3
 A(2,i) = A(1,i)*(-3)/pivo + A(2,i);
 A(3,i) = A(1,i)*(1)/pivo + A(3,i);
end
// vetor pivotamento -> (1,2,3) ~ (1,3,2)
pivo = A(3,2)
for i = 2:3
 A(2,i) = A(3,i)*(-1)/pivo + A(2,i);
end
P = [1,0,0;
 0,0,1;
 0,1,0]
U = [3,2,-1;
 0,1.666,2.666;
 0,0,0.4]
L = P*A_*inv(U)
scripts/lista3-ex5.sce
A_ = [3,7,3;
 1,1/7,4;
 4,4/3,0]
A = [3,7,3;
 1,1/7,4;
 4,4/3,0]
// vetor de pivotamento (1,2,3) ~ (3,2,1)
pivo = A(3,1);
for i = 1:3
 A(1,i) = A(3,i)*-3/pivo + A(1,i);
 A(2,i) = A(3,i)*-1/pivo + A(2,i);
end
// vetor de pivotamento (3,2,1) ~ (3,1,2)
div = -A(2,2)
pivo = A(1,2)
for i = 2:3
 A(2,i) = A(1,i)*div/pivo + A(2,i);
end
P = [0,0,1;
 1,0,0;
 0,1,0]
U = [4,1.33,0;
 0,6,3;
 0,0,4]
L = P*A_*inv(U)
scripts/lista3-ex6.sce
A_ = [4,2,8;
 2,1,1.999;
 1,0.501,1]
A = [2,1,4;
 2,1,1.999;
 1,0.501,1]
// vetor pivotamento (1,2,3) ~ (1,2,3)
// vetor fatores de escala (8,2,1)
pivo = A(1,1)
for i = 1:3
 A(2,i) = A(1,i)*-2/pivo + A(2,i);
 A(3,i) = A(1,i)*-1/pivo + A(3,i);
end
P = [1,0,0;
 0,1,0;
 0,0,1]
U = [4,2,8;
 0,0.001,-1;
 0,0,-2.001]
L = P*A_*inv(U)

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?