Un vector es una lista de números
Un vector es una lista ordenada de números que describe una cosa: un día de la tienda, un punto del plano o un cliente. Se puede sumar con otro, estirar y medir.
Todo el aprendizaje automático y los gráficos por ordenador empiezan aquí. Al acabar sabrás sumar vectores, multiplicarlos por un número y calcular su longitud.
Al final de esta lección
Nota
Puedo sumar vectores, escalarlos y calcular su longitud.
Palabras clave
| Palabra | Qué significa |
|---|---|
| Vector | una lista ordenada de números |
| Componente | cada número de un vector |
| Escalar | un número suelto, sin lista |
| Suma de vectores | sumar componente a componente |
| Longitud | lo grande que es un vector |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Un vector guarda varios datos de algo
Un día de la tienda de bicis se puede apuntar con tres números: los grados, los milímetros de lluvia y los alquileres. Esa lista de tres números es un vector de tres componentes.
El orden importa. El primer número siempre son los grados, el segundo la lluvia y el tercero los alquileres.
Ejemplo resuelto: dos días como vectores
| Día | Grados | Lluvia (mm) | Alquileres | Vector |
|---|---|---|---|---|
| Lunes | 10 | 0 | 180 | [10, 0, 180] |
| Martes | 14 | 2 | 150 | [14, 2, 150] |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Sumar vectores es sumar cada componente
Para sumar dos vectores del mismo tamaño, suma las componentes que ocupan el mismo sitio. La primera con la primera, la segunda con la segunda.
Para escalar un vector, multiplica cada componente por el mismo número. Ese número se llama escalar. Con él puedes duplicar un día o calcular un día medio.
Ejemplo resuelto: sumar y escalar
| Operación | Primera | Segunda | Tercera | Resultado |
|---|---|---|---|---|
| lunes + martes | 10 + 14 = 24 | 0 + 2 = 2 | 180 + 150 = 330 | [24, 2, 330] |
| 2 por lunes | 2 por 10 = 20 | 2 por 0 = 0 | 2 por 180 = 360 | [20, 0, 360] |
| (lunes + martes) / 2 | 24 / 2 = 12 | 2 / 2 = 1 | 330 / 2 = 165 | [12, 1, 165] |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Suma dos vectores con un bucle
# Dos días de una tienda de bicis: [grados, lluvia en mm, alquileres].
lunes = [10, 0, 180]
martes = [14, 2, 150]
suma = []
for i in range(len(lunes)):
suma.append(lunes[i] + martes[i])
print("suma:", suma)
# Cambia los alquileres del martes a 100 y vuelve a ejecutar.
# ¿Qué número de la suma cambia?
Suma, doble y media con NumPy
docker exec jupyter python3 -c "import numpy as np; a=np.array([10,0,180]); b=np.array([14,2,150]); print((a+b).tolist(), (2*a).tolist(), ((a+b)/2).tolist())"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
La longitud de un vector sale de Pitágoras
La longitud de un vector dice lo lejos que llega desde el origen. Eleva cada componente al cuadrado, suma los cuadrados y calcula la raíz cuadrada del total.
Con dos componentes es el teorema de Pitágoras. Con tres, o con mil, se hace igual: solo hay más sumandos.
Ejemplo resuelto: tres longitudes
| Vector | Cuadrados | Suma | Raíz |
|---|---|---|---|
| [3, 4] | 9 y 16 | 25 | 5 |
| [1, 2, 2] | 1, 4 y 4 | 9 | 3 |
| [2, 3, 6] | 4, 9 y 36 | 49 | 7 |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Mide dos vectores
docker exec jupyter python3 -c "import numpy as np; print(np.linalg.norm(np.array([2,3,6])), np.linalg.norm(np.array([1,2,2])))"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Un error muy común
Advertencia
Mucha gente cree que la longitud de una suma es la suma de las longitudes. No es así. [3, 0] y [0, 4] miden 3 y 4, pero su suma [3, 4] mide 5, no 7. Suma primero los vectores y calcula la longitud del resultado.
Para ir más lejos: el vector unitario
Divide un vector entre su longitud y obtienes otro vector que apunta igual pero mide uno. Se llama vector unitario.
Prueba con [3, 4]: divide cada componente entre 5. Obtienes [0,6, 0,8]. Comprueba a mano que su longitud es 1.