La Eliminación de Gauss - Jupyter Notebook

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 2

22/12/22, 18:26 La eliminación de gauss - Jupyter Notebook

In [41]:

# Eliminacion Gaussiana
import numpy as np

A=np.array([[1,2,-1,1],[-1,1,2,-1],[2,-1,2,2],[1,1,-1,2]])
print('La matriz A es: ')
print(A)
B=np.array([[6],[3],[14],[8]])
print('la B es: ')
print(B)

# PROCEDIMIENTO
casicero = 1e-15 # Considerar como 0

A = np.array(A,dtype=float)

AB = np.concatenate((A,B),axis=1)
AB0 = np.copy(AB) # Matriz aumentada

tamano = np.shape(AB)
n = tamano[0]
m = tamano[1]

for i in range(0,n-1,1): # Para cada fila en AB

columna = abs(AB[i:,i]) # columna desde diagonal i en adelante


dondemax = np.argmax(columna)

if (dondemax !=0): # dondemax no está en diagonal

temporal = np.copy(AB[i,:]) # intercambia filas


AB[i,:] = AB[dondemax+i,:]
AB[dondemax+i,:] = temporal

AB1 = np.copy(AB)

for i in range(0,n-1,1):
pivote = AB[i,i]
adelante = i + 1
for k in range(adelante,n,1):
factor = AB[k,i]/pivote
AB[k,:] = AB[k,:] - AB[i,:]*factor
AB2 = np.copy(AB)
# elimina hacia atras
ultfila = n-1
ultcolumna = m-1
for i in range(ultfila,0-1,-1):
pivote = AB[i,i]
atras = i-1
for k in range(atras,0-1,-1):
factor = AB[k,i]/pivote
AB[k,:] = AB[k,:] - AB[i,:]*factor
# diagonal a unos
AB[i,:] = AB[i,:]/AB[i,i]
X = np.copy(AB[:,ultcolumna])
X = np.transpose([X])
# SALIDA

localhost:8888/notebooks/Documents/La eliminación de gauss.ipynb# 2/3


22/12/22, 18:26 La eliminación de gauss - Jupyter Notebook

print('Matriz aumentada:')
print(AB0)
print('Pivoteo parcial por filas')
print(AB1)
print('La matriz triangulo superior es: ')
print(AB2)
print('eliminación hacia atrás')
print(AB)
print('solución de X: ')
print(X)

La matriz A es:

[[ 1 2 -1 1]

[-1 1 2 -1]

[ 2 -1 2 2]

[ 1 1 -1 2]]

la B es:

[[ 6]

[ 3]

[14]

[ 8]]

Matriz aumentada:

[[ 1. 2. -1. 1. 6.]

[-1. 1. 2. -1. 3.]

[ 2. -1. 2. 2. 14.]

[ 1. 1. -1. 2. 8.]]

Pivoteo parcial por filas

[[ 2. -1. 2. 2. 14.]

[ 1. 2. -1. 1. 6.]

[-1. 1. 2. -1. 3.]

[ 1. 1. -1. 2. 8.]]

La matriz triangulo superior es:

[[ 2. -1. 2. 2. 14. ]

[ 0. 2.5 -2. 0. -1. ]

[ 0. 0. 3.4 0. 10.2]

[ 0. 0. 0. 1. 4. ]]

eliminación hacia atrás

[[1. 0. 0. 0. 1.]

[0. 1. 0. 0. 2.]

[0. 0. 1. 0. 3.]

[0. 0. 0. 1. 4.]]

solución de X:

[[1.]

[2.]

[3.]

[4.]]

In [ ]:

localhost:8888/notebooks/Documents/La eliminación de gauss.ipynb# 3/3

También podría gustarte