Verificación tarea 9¶

In [1]:
from sympy import *
init_printing()
In [2]:
t = 20
t
Out[2]:
$$20$$
In [3]:
C = 200000/(1-0.26**2) * Matrix([[1, 0.26, 0],
                                 [0.26, 1, 0],
                                 [0, 0, (1-0.26)/2]])
C
Out[3]:
$$\left[\begin{matrix}214500.214500214 & 55770.0557700558 & 0\\55770.0557700558 & 214500.214500214 & 0\\0 & 0 & 79365.0793650794\end{matrix}\right]$$

Polinomio de Lagrange

\begin{equation*} L_{i}(r)=\prod_{\substack{j=1 \\ j \neq i}}^{n} \frac{r-r_{j}}{r_{i}-r_{j}} \end{equation*}
In [4]:
# https://www.longqi.cf/python/2014/03/24/implement-of-lagrange-polynomial-in-sympy/
def LagrangPoly(x,order,i,xi=None):
    if xi==None:
        xi=symbols('x:%d'%(order+1))
    index = range(order+1)
    index.pop(i)
    return prod([(x-xi[j])/(xi[i]-xi[j]) for j in index])
In [5]:
N1r = simplify(LagrangPoly(symbols('r'),1,0,[0,1]))
N2r = simplify(LagrangPoly(symbols('r'),1,1,[0,1]))
N1s = simplify(LagrangPoly(symbols('s'),1,0,[0,1]))
N2s = simplify(LagrangPoly(symbols('s'),1,1,[0,1]))
In [6]:
N1 = simplify(N1r*N1s)
N1
Out[6]:
$$\left(r - 1\right) \left(s - 1\right)$$
In [7]:
N2 = simplify(N2r*N1s)
N2
Out[7]:
$$r \left(- s + 1\right)$$
In [8]:
N3 = simplify(N2r*N2s)
N3
Out[8]:
$$r s$$
In [9]:
N4 = simplify(N1r*N2s)
N4
Out[9]:
$$s \left(- r + 1\right)$$
In [10]:
N = Matrix([[N1, N2, N3, N4]])
N
Out[10]:
$$\left[\begin{matrix}\left(r - 1\right) \left(s - 1\right) & r \left(- s + 1\right) & r s & s \left(- r + 1\right)\end{matrix}\right]$$
In [11]:
x1, y1 = 0, 0
x2, y2 = 250, 0
x3, y3 = 250, 250
x4, y4 = 0, 250
In [12]:
x = simplify(N1*x1 + N2*x2 + N3*x3 + N4*x4)
x
Out[12]:
$$250 r$$
In [13]:
y = simplify(N1*y1 + N2*y2 + N3*y3 + N4*y4)
y
Out[13]:
$$250 s$$
In [14]:
r = symbols('x')/250
r
Out[14]:
$$\frac{x}{250}$$
In [15]:
s = symbols('y')/250
s
Out[15]:
$$\frac{y}{250}$$
In [16]:
J = Matrix([[diff(x, symbols('r')), diff(y, symbols('r'))],
            [diff(x, symbols('s')), diff(y, symbols('s'))]])
J
Out[16]:
$$\left[\begin{matrix}250 & 0\\0 & 250\end{matrix}\right]$$
In [17]:
detJ = det(J)
detJ
Out[17]:
$$62500$$
In [18]:
M1 = Matrix([[1, 0, 0, 0],
             [0, 0, 0, 1],
             [0, 1, 1, 0]])
M1
Out[18]:
$$\left[\begin{matrix}1 & 0 & 0 & 0\\0 & 0 & 0 & 1\\0 & 1 & 1 & 0\end{matrix}\right]$$
In [19]:
M2 = Matrix([[diff(r, symbols('x')), diff(s, symbols('x')), 0, 0],
             [diff(r, symbols('y')), diff(s, symbols('y')), 0, 0],
             [0, 0, diff(r, symbols('x')), diff(s, symbols('x'))],
             [0, 0, diff(r, symbols('y')), diff(s, symbols('y'))]])
M2
Out[19]:
$$\left[\begin{matrix}\frac{1}{250} & 0 & 0 & 0\\0 & \frac{1}{250} & 0 & 0\\0 & 0 & \frac{1}{250} & 0\\0 & 0 & 0 & \frac{1}{250}\end{matrix}\right]$$
In [20]:
M3 = Matrix([[diff(N1, symbols('r')), 0, diff(N2, symbols('r')), 0, diff(N3, symbols('r')), 0, diff(N4, symbols('r')), 0],
             [diff(N1, symbols('s')), 0, diff(N2, symbols('s')), 0, diff(N3, symbols('s')), 0, diff(N4, symbols('s')), 0],
             [0, diff(N1, symbols('r')), 0, diff(N2, symbols('r')), 0, diff(N3, symbols('r')), 0, diff(N4, symbols('r'))],
             [0, diff(N1, symbols('s')), 0, diff(N2, symbols('s')), 0, diff(N3, symbols('s')), 0, diff(N4, symbols('s'))]])
M3
Out[20]:
$$\left[\begin{matrix}s - 1 & 0 & - s + 1 & 0 & s & 0 & - s & 0\\r - 1 & 0 & - r & 0 & r & 0 & - r + 1 & 0\\0 & s - 1 & 0 & - s + 1 & 0 & s & 0 & - s\\0 & r - 1 & 0 & - r & 0 & r & 0 & - r + 1\end{matrix}\right]$$
In [21]:
B = M1*M2*M3
B
Out[21]:
$$\left[\begin{matrix}\frac{s}{250} - \frac{1}{250} & 0 & - \frac{s}{250} + \frac{1}{250} & 0 & \frac{s}{250} & 0 & - \frac{s}{250} & 0\\0 & \frac{r}{250} - \frac{1}{250} & 0 & - \frac{r}{250} & 0 & \frac{r}{250} & 0 & - \frac{r}{250} + \frac{1}{250}\\\frac{r}{250} - \frac{1}{250} & \frac{s}{250} - \frac{1}{250} & - \frac{r}{250} & - \frac{s}{250} + \frac{1}{250} & \frac{r}{250} & \frac{s}{250} & - \frac{r}{250} + \frac{1}{250} & - \frac{s}{250}\end{matrix}\right]$$
In [22]:
K = integrate(integrate(transpose(B)*C*B*detJ*t, (symbols('s'), 0, 1)), (symbols('r'), 0, 1))
K.evalf(9)
Out[22]:
$$\left[\begin{matrix}1959101.96 & 675675.676 & -1165451.17 & -117975.118 & -979550.979 & -675675.676 & 185900.186 & 117975.118\\675675.676 & 1959101.96 & 117975.118 & 185900.186 & -675675.676 & -979550.979 & -117975.118 & -1165451.17\\-1165451.17 & 117975.118 & 1959101.96 & -675675.676 & 185900.186 & -117975.118 & -979550.979 & 675675.676\\-117975.118 & 185900.186 & -675675.676 & 1959101.96 & 117975.118 & -1165451.17 & 675675.676 & -979550.979\\-979550.979 & -675675.676 & 185900.186 & 117975.118 & 1959101.96 & 675675.676 & -1165451.17 & -117975.118\\-675675.676 & -979550.979 & -117975.118 & -1165451.17 & 675675.676 & 1959101.96 & 117975.118 & 185900.186\\185900.186 & -117975.118 & -979550.979 & 675675.676 & -1165451.17 & 117975.118 & 1959101.96 & -675675.676\\117975.118 & -1165451.17 & 675675.676 & -979550.979 & -117975.118 & 185900.186 & -675675.676 & 1959101.96\end{matrix}\right]$$
In [ ]: