Ejercicio: 3Eva_2021PAOI_T1 Tensiones en cables por carga variable
Planteamiento del problema
Las ecuaciones de equilibrio del sistema corresponden a:
-T_{CA} \cos (\alpha) + T_{CB} \cos (\beta) + P \sin (\theta) = 0 T_{CA} \sin (\alpha) + T_{CB} \sin (\beta) - P \cos (\theta) = 0se reordenan considerando que P y θ son valores constantes para cualquier caso
T_{CA} \cos (\alpha) - T_{CB} \cos (\beta) = P \sin (\theta) T_{CA} \sin (\alpha) + T_{CB} \sin (\beta) = P \cos (\theta)se convierte a la forma matricial
\begin{bmatrix} \cos (\alpha) & -\cos (\beta) \\ \sin (\alpha) & \sin (\beta) \end{bmatrix} \begin{bmatrix} T_{CA} \\ T_{CB} \end{bmatrix} = \begin{bmatrix} P \sin (\theta) \\ P \cos (\theta) \end{bmatrix}tomando valores por ejemplo:
α = 35°, β = 75°, P = 400 lb, Δθ = 5°
θ = 75-90 = -15
\begin{bmatrix} \cos (35) & -\cos (75) \\ \sin (35) & \sin (75) \end{bmatrix} \begin{bmatrix}T_{CA} \\ T_{CB} \end{bmatrix} = \begin{bmatrix} 400 \sin (-15) \\ 400 \cos (15) \end{bmatrix}Desarrollo analítico
matriz aumentada
\begin{bmatrix} \cos (35) & - \cos (75) & 400 \sin (-15) \\ \sin (35) & \sin (75 ) & 400 \cos (15 ) \end{bmatrix}A = [[ 0.81915204 -0.25881905] [ 0.57357644 0.96592583]] B = [-103.52761804 386.37033052] AB = [[ 0.81915204 -0.25881905 -103.52761804] [ 0.57357644 0.96592583 386.37033052]]
Pivoteo parcial por filas
cos(-15°) tendría mayor magnitud que sin(-15°), por lo que la matriz A se encuentra pivoteada
Eliminación hacia adelante
pivote = 0.81915204/0.57357644 [[ 0.81915204 -0.25881905 -103.52761804] [ 0.0 1.63830408 655.32162903]]
Sustitución hacia atras
usando la última fila:
1.63830408 TCB = 655.32162903
TCB = 400
luego la primera fila:
0.81915204TCA -0.25881905TCB = -103.52761804
0.81915204TCA = 0.25881905TCB -103.52761804
TCA = 2,392 x10-6 ≈ 0
Se deja como tarea realizar el cálculo para: θ+Δθ
Instrucciones en Python
Resultado:
Resultado: [TCA, TCB], diferencia [array([3.46965006e-14, 4.00000000e+02]), -399.99999999999994]
usando el intervalo para θ1 y θ2:
con las instrucciones:
import numpy as np import matplotlib.pyplot as plt # Tema 1 def funcion(P,theta,alfa,beta): # ecuaciones A = np.array([[np.cos(alfa), -np.cos(beta)], [np.sin(alfa), np.sin(beta)]]) B = np.array([P*np.sin(theta), P*np.cos(theta)]) # usar un algoritmo directo X = np.linalg.solve(A,B) diferencia = X[0]-X[1] return([X,diferencia]) # INGRESO alfa = np.radians(35) beta = np.radians(75) P = 400 # PROCEDIMIENTO theta = beta-np.radians(90) resultado = funcion(P,theta,alfa, beta) # SALIDA print("Resultado: [TCA, TCB], diferencia") print(resultado) # Tema 1b -------------- # PROCEDIMIENTO dtheta = np.radians(5) theta1 = beta-np.radians(90) theta2 = np.radians(90)-alfa tabla = [] theta = theta1 while not(theta>=theta2): X = funcion(P,theta,alfa,beta)[0] # usa vector X tabla.append([theta,X[0],X[1]]) theta = theta + dtheta tabla = np.array(tabla) thetai = np.degrees(tabla[:,0]) Tca = tabla[:,1] Tcb = tabla[:,2] # SALIDA print('tetha, TCA, TCB') print(tabla) # Grafica plt.plot(thetai,Tca, label='Tca') plt.plot(thetai,Tcb, label='Tcb') # plt.axvline(np.degrees(c)) plt.legend() plt.xlabel('theta') plt.ylabel('Tensión') plt.show()