Resumen de algunas funciones para vectores y matrices como arreglos en la libreria Numpy de Python, usadas en el curso para facilitan el cálculo numérico. El orden de las instrucciones es el que aparece en las entradas del blog.
Lo primero es hacer el llamado a las librerías con el álias ‘np’
import numpy as np
Vectores
puntos espaciados entre [a,b] – np.linspace()
para obtener puntos en el rango [a,b] para una cantidad de tramos. Se obtienen tramos+1 puntos .
a = 1 b = 2 tramos = 4 x = np.linspace(a,b,tramos+1)
>>> x array([ 1. , 1.25, 1.5 , 1.75, 2. ])
rango de valores en vector – np.arange(a,b,dt)
crea un vector con valores en el rango [a,b) y espaciados dt.
t=np.arange(0,10,2) >>> t array([0, 2, 4, 6, 8])
transponer vector – np.transpose()
>>> fila = np.array([1,2,3]) >>> columna = np.transpose([fila]) >>> columna array([[1], [2], [3]])
indices para ordenar – np.argsort()
para ordenar por una columna específica:
– se obtiene un vector con la columna que se requiere ordenar: tabla[:,0]
– con el vector se determinan los índices para ordenar la tabla por filas: np.argsort()
– se aplica los índices a una copia de la matriz: tabla[orden]
tabla = np.array([[5,3], [4,2], [3,1], [2,4], [1,5]]) # ordenar por primera columna referencia = tabla[:,0] orden = np.argsort(referencia) ordenada = tabla[orden] print(orden) print(ordenada)
resultado:
[4 3 2 1 0] [[1 5] [2 4] [3 1] [4 2] [5 3]]
# ordenar por segunda columna referencia = tabla[:,1] orden = np.argsort(referencia) ordenada = tabla[orden] print(orden) print(ordenada)
resultado:
[2 1 0 3 4] [[3 1] [4 2] [5 3] [2 4] [1 5]]
Matrices en Numpy
concatenar- np.concatenate((A,b), axis=1)
concatenar usa el parámetro axis: 0 para filas, 1 para columnas.
import numpy as np cantidad = np.array([[4,2,5], [2,5,8], [5,4,3]]) pagado = np.array([[60.70], [92.90], [56.30]]) matriz = np.concatenate((cantidad,pagado),axis=1)
>>> matriz array([[ 4. , 2. , 5. , 60.7], [ 2. , 5. , 8. , 92.9], [ 5. , 4. , 3. , 56.3]])
resolver sistema de ecuaciones – np.linalg.solve(A,B)
Resuelve el sistema de ecuaciones dado por una matriz A y un vector B. siendo, por ejemplo:
0 = c1 + c2 -5 = -c1 - 2c2 c1 = -5 c2 = 5
>>> A = [[ 1, 1], [-1,-2]] >>> B = [0,-5] >>> np.linalg.solve(A,B) array([-5., 5.]) >>>
Otras instrucciones
np.pi | constante con valor π
>>> np.pi 3.141592653589793 |
np.sin(t) np.cos(t) |
función trigonométrica en radianes. La variable t puede ser un escalar o un arreglo.
>>> t=0.65 >>> np.sin(0.65) 0.60518640573603955 >>> t=[0, 0.3, 0.6] >>> np.sin(t) array([ 0. , 0.29552021, 0.56464247]) |
np.abs() | obtiene el valor absoluto de un número. En el caso de un número complejo obtiene la parte real. |
np.real(complejo) np.imag(complejo) |
obtiene la parte real de los números complejos en un vector. Se aplica lo mismo para la parte imaginaria del número complejo. |
complex(a,b) | crea el número complejo a partir de los valores de a y b. a=2 b=3 el resultado es: 2+3j |
np.piecewise(t, t>=donde, [1,0]) | función que crea a partir de t, los valores de la condición t>=donde, ubicando los valores de 1, para otro caso es 0. Usada en la función escalón. |
np.roots([a,b,c]) | obtiene las raíces del polinomio: ax2+bx+c x2 + 3 x + 2 = (x+1)(x+2) >>> np.roots([1,3,2]) array([-2., -1.]) |