sábado, 19 de octubre de 2019

Python Solución de Ax=b trabajar con la libreria numpy y los arrays, crear vectores, crear matrices, sacar inversa y multiplicación de matrices @

Ax=b trabajar con la libreria numpy y los arrays, crear vectores, crear matrices, sacar inversa y multiplicación de matrices @


#clase13.py
#Autor: Alexander Arias
#Fecha:  19 de octubre de 2019
#Objetivo:
#Se quiere aprender a trabajar con la libreria numpy y los arrays
#
#Programa para resolver una matriz A 3x3 y un vector b 3x1
#Todo junto aplicando la libreria array
#Solución por Eliminación gausinana
#Solución por inversa
#El sistema a resolver es Ax=b
print('------------------------------------------------')
print('Matriz con vectores f1, f2, f3')
f1=np.array([7,2,7,7/2])
f2=np.array([7,7,9/2,5])
f3=np.array([6,5,8,3])
print(f1)
print(f2)
print(f3)
print('------------------------------------------------')
print('Pasos Eliminación gaussiana')
f2=f2-(f2[0]/f1[0])*f1
f3=f3-(f3[0]/f1[0])*f1
f3=f3-(f3[1]/f2[1])*f2
print(f1)
print(f2)
print(f3)
print('------------------------------------------------')
print('Sustitución hacia atrás')
x3=f3[3]/f3[2]
x2=(f2[3]-f2[2]*x3)/f2[1]
x1=(f1[3]-f1[2]*x3-f1[1]*x2)/f1[0]
print(x1)
print(x2)
print(x3)
print('------------------------------------------------')
print('Solución con inversa')
A=np.array([[7,2,7],[7,7,9/2],[6,5,8]])
b=np.array([7/2,5,3])
invA = np.linalg.inv(A)
x = invA @ b
print(x)


#--------------------
#El resultado al ejecutar es:


------------------------------------------------
Matriz con vectores f1, f2, f3
[7.  2.  7.  3.5]
[7.  7.  4.5 5. ]
[6 5 8 3]
------------------------------------------------
Pasos Eliminación gaussiana
[7.  2.  7.  3.5]
[ 0.   5.  -2.5  1.5]
[ 0.          0.          3.64285714 -0.98571429]
------------------------------------------------
Sustitución hacia atrás
0.723529411764706
0.16470588235294117
-0.2705882352941177
------------------------------------------------
Solución con inversa
[ 0.72352941  0.16470588 -0.27058824]

No hay comentarios:

Publicar un comentario