METODOS NUMERICOS (SOLUCION DE MATRICES CON LU Y PIVOTEO PARCIAL)
Enviado por lestercastanaza • 22 de Agosto de 2019 • Trabajo • 970 Palabras (4 Páginas) • 148 Visitas
ELIMINACION HACIA ADELANTE
function resultado=eliminacionHaciaAdelante(matriz)
dimensionMatriz = size(matriz)
cantidadFilas = dimensionMatriz (1)
cantidadColumnas = dimensionMatriz (2)
for k = 1:cantidadFilas-1
for i = (k + 1): cantidadFilas
factor = matriz (i, k) / matriz (k, k)
for j = k: cantidadColumnas
matriz (i,j) = matriz (i,j) - factor * matriz (k, j)
endfor
endfor
endfor
resultado = matriz
endfunction
SUSTITUCION HACIA ATRAS
function resultado=sustitucionHaciaAtras(matriz)
dimensionMatriz = size(matriz)
cantidadFilas = dimensionMatriz (1)
cantidadColumnas = dimensionMatriz (2)
x = zeros (cantidadFilas, 1)
x(cantidadFilas) = matriz(cantidadFilas, cantidadColumnas)/ matriz(cantidadFilas, cantidadColumnas-1)
for i = (cantidadFilas -1):-1:1
suma= matriz(i, cantidadColumnas)
for j = (i + 1): cantidadFilas
suma = suma - matriz(i, j) * x(j)
endfor
x(i) = suma / matriz (i, i)
endfor
resultado= x
endfunction
GAUSS SIMPLE
function resultado=gaussSimple(matriz)
matriz = eliminacionHaciaAdelante(matriz)
resultado = sustitucionHaciaAtras(matriz)
disp(resultado)
endfunction
PIVOTEO PARCIAL
function resultado=pivoteoParcial(matriz)
dimensionMatriz = size(matriz)
cantidadFilas = dimensionMatriz (1)
cantidadColumnas = dimensionMatriz (2)
p = k = 1
big = abs(matriz (k, k))
for ii= (k + 1): cantidadFilas
dummy = abs(matriz (ii , k ))
if (dummy > big)
big = dummy
p = ii
endif
endfor
if (p != k )
for jj= k: cantidadColumnas
dummy= matriz (p, jj)
matriz (p,jj) = matriz (k, jj)
matriz(k, jj) = dummy
endfor
endif
resultado = matriz
endfunction
GAUSS SIMPLE CON PIVOTEO PARCIAL
function resultado=gaussSimplePivoteoParcial(matriz)
resultadopivoteoParcial = pivoteoParcial(matriz)
matriz = eliminacionHaciaAdelante(resultadopivoteoParcial)
resultado = sustitucionHaciaAtras(matriz)
disp(resultado)
endfunction
DESCOMPOSICION
function resultado = descomposicion (A)
...