Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guía de actividad
Objetivo de la Actividad Identificar e implementar estructuras de control en Python
Fecha de la actividad
Introducción:
8𝑥 + 25𝑦 = 200
{
𝑥 + 𝑦 = 15
Tenemos un sistema de 2 ecuaciones, para resolverlo a mano se eliminan las incógnitas una
por una resolviendo una ecuación para una de ellas en términos de las otras (y = 15 - x).
Eventualmente, tendremos una sola ecuación con una incógnita. La solución luego se sustituye
en la ecuación anterior para encontrar la siguiente incógnita y así sucesivamente.
8 25 𝑥 200
[ ][ ] = [ ]
1 1 𝑦 15
Que tiene la forma Ax = b donde A es una matriz nxn de coeficientes constantes, x es vector de
incógnitas y b es el vector de soluciones de tamaño n.
Como su nombre lo indica, este método de solución implica un procedimiento de dos partes:
Eliminación:
Para el primer paso, la primera fila se llama fila pivote. La fila pivote en sí permanece sin
cambios, pero se usa para cambiar las filas debajo de ella. Dado que a11 es el elemento que se
usa para poner a cero los otros elementos debajo de él, se le llama elemento pivote. Actúa
como el pivote (un punto estacionario), alrededor del cual se transforman los otros elementos.
La columna en la que se encuentra el elemento pivote, es decir, la columna en la que se lleva a
cabo la puesta a cero, se denomina columna pivote.
Primero eliminamos las entradas debajo de la diagonal en la primera columna, agregando una
versión escalada de la primera fila a las otras filas. Luego se aplica el mismo procedimiento
para la segunda fila, y así sucesivamente. El resultado es una matriz triangular superior.
En el primer paso, la segunda fila se resta por el cociente entre el primer elemento de la
segunda fila y el pivote para que 𝑎2,1 sea 0.
𝑎1,1 𝑎1,2 𝑎1,3
𝑏1
𝑎 𝑎 𝑎 𝑎
𝐴𝑢 = 𝑎2,1 − ( 2,1 𝑎1,1 ) 𝑎2,2 − ( 2,1 𝑎1,2 ) 𝑎2,3 − ( 2,1 𝑎1,3 )||𝑏2 − ( 2,1 𝑏1 )
𝑎1,1 𝑎1,1 𝑎1,1 𝑎1,1
𝑎3,1 𝑎3,2 𝑎3,3 𝑏3
( )
Así:
Luego la tercera fila se multiplica de nuevo por otro escalar y se resta de la tercera fila para
que 𝑎3,1 sea 0.
Sustitución:
Este paso permitirá encontrar los valores de las incógnitas. El algoritmo implica sustituir los
valores conocidos y restarlos.
Algoritmo
(1) Calcule x[n] = b[n] / a [n, n].
(2) Haga un bucle hacia atrás con i desde n – 1 hasta 0.
(3) Calcule x[i] = 1/a [i, i] * (b[i] – ∑𝑗=𝑖+1(a[i, j] ∗ x[j]) )
𝑗=𝑛
Método de eliminación de Gauss-Jordan:
Este método permite encontrar una matriz diagonal (todos los elementos, excepto los de la
diagonal son cero). Es decir, en vez de encontrar una matriz triangular superior, se obtiene
una matriz identidad.
Algoritmo
Ejercicios:
Nota:
1. Realice los siguientes ejercicios en Python. El archivo ( .py) debe estar nombrado con el
siguiente formato: Apellido_Codigo.py. (Recuerde no incluir tildes o caracteres
especiales tipo ñ o similares)
2. Cada ejercicio debe estar debidamente comentado (#) y seccionado (sintaxis de
Pycharm ‘##’)
3. Fecha máxima de entrega: 4 abril 2022 23:59.
1. Realice una función en Python que devuelva el vector de solución x, usando el método
de Gauss. Pruebe la función con una matriz A de 3x3 y un vector b de 3x1. Compare la
solución encontrada con las funciones de la librería numpy del paquete linalg.
2. Realice una función en Python que devuelva el vector de solución x usando el método
de Gauss-Jordan. La función debe devolver igualmente la matriz inversa A-1. Compare
la solución encontrada con las funciones de la librería numpy del paquete linalg.
3. Para el sistema matricial de la forma Ax=b, explique cada uno de los casos en los cuales
el sistema tiene una única solución, infinitas soluciones o no tiene solución. Refiérase a
la matriz aumentada para explicar cada caso.
4. El círculo que pasa por los puntos (-2, 0), (-7, 1) y (5, -1) está dado por la ecuación
𝑥2 + 𝑦2 + 𝑎𝑥 + 𝑏𝑦 + 𝑐 = 0. Utilice las funciones desarrolladas en los puntos 1 y 2 para hallar
los coeficientes a, b y c. Compare la solución encontrada con las funciones de la librería
numpy del paquete linalg. Realice una gráfica del círculo encontrado para 50 puntos de
la circunferencia del círculo.
- El radio r es:
r = sqrt(p0^2 + p1^2 - c)
- Las coordenadas del círculo se pueden obtener con
-> x = p0 + r*cos(theta)
-> y = p1 + r*sen(theta)
Donde theta es un vector entre 0 y 2 * pi
5. Un polinomio de orden 4 está dado por la ecuación 𝑃(𝑥) = 𝑐4𝑥4 + 𝑐3𝑥3 + 𝑐2𝑥2 + 𝑐1𝑥 + 𝑐0,
donde 𝑐4, 𝑐3, 𝑐2, 𝑐1, 𝑐0 corresponden a coeficientes constantes. Encuentre la ecuación
𝑃(𝑥) del polinomio de orden 4 que pasa por los puntos (-2.68, 0), (-3.25, 1.15), (-4.45, -
1.56), (-6.25, -2.84) y (-8.15, 0.23). Utilice las funciones desarrolladas en los puntos 1 y 2
para hallar los coeficientes requeridos. Compare la solución encontrada con las
funciones de la librería numpy del paquete linalg. Realice una gráfica del polinomio
encontrado para 𝑥 = −8.15 ∶ 0.1 ∶ −2.68