Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# CompMech04-Linear Algebra Project\n",
"# Practical Linear Algebra for Finite Element Analysis\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from matplotlib import rcParams"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this project we will perform a linear-elastic finite element analysis (FEA) on a support structure made of 11 beams that are riveted in 7 locations to create a truss as shown in the image below. \n",
"\n",
"![Mesh image of truss](../images/mesh.png)\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The triangular truss shown above can be modeled using a [direct stiffness method [1]](https://en.wikipedia.org/wiki/Direct_stiffness_method), that is detailed in the [extra-FEA_material](./extra-FEA_material.ipynb) notebook. The end result of converting this structure to a FE model. Is that each joint, labeled $n~1-7$, short for _node 1-7_ can move in the x- and y-directions, but causes a force modeled with Hooke's law. Each beam labeled $el~1-11$, short for _element 1-11_, contributes to the stiffness of the structure. We have 14 equations where the sum of the components of forces = 0, represented by the equation\n",
"\n",
"$\\mathbf{F-Ku}=\\mathbf{0}$\n",
"\n",
"Where, $\\mathbf{F}$ are externally applied forces, $\\mathbf{u}$ are x- and y- displacements of nodes, and $\\mathbf{K}$ is the stiffness matrix given in `fea_arrays.npz` as `K`, shown below\n",
"\n",
"_note: the array shown is 1000x(`K`). You can use units of MPa (N/mm^2), N, and mm. The array `K` is in 1/mm_\n",
"\n",
"$\\mathbf{K}=EA*$\n",
"\n",
"$ \\left[ \\begin{array}{cccccccccccccc}\n",
" 4.2 & 1.4 & -0.8 & -1.4 & -3.3 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" 1.4 & 2.5 & -1.4 & -2.5 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" -0.8 & -1.4 & 5.0 & 0.0 & -0.8 & 1.4 & -3.3 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" -1.4 & -2.5 & 0.0 & 5.0 & 1.4 & -2.5 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" -3.3 & 0.0 & -0.8 & 1.4 & 8.3 & 0.0 & -0.8 & -1.4 & -3.3 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" 0.0 & 0.0 & 1.4 & -2.5 & 0.0 & 5.0 & -1.4 & -2.5 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" 0.0 & 0.0 & -3.3 & 0.0 & -0.8 & -1.4 & 8.3 & 0.0 & -0.8 & 1.4 & -3.3 & 0.0 & 0.0 & 0.0 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & -1.4 & -2.5 & 0.0 & 5.0 & 1.4 & -2.5 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & -3.3 & 0.0 & -0.8 & 1.4 & 8.3 & 0.0 & -0.8 & -1.4 & -3.3 & 0.0 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 1.4 & -2.5 & 0.0 & 5.0 & -1.4 & -2.5 & 0.0 & 0.0 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & -3.3 & 0.0 & -0.8 & -1.4 & 5.0 & 0.0 & -0.8 & 1.4 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & -1.4 & -2.5 & 0.0 & 5.0 & 1.4 & -2.5 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & -3.3 & 0.0 & -0.8 & 1.4 & 4.2 & -1.4 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 1.4 & -2.5 & -1.4 & 2.5 \\\\\n",
"\\end{array}\\right]~\\frac{1}{m}$"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.00416667, 0.00144338, -0.00083333, -0.00144338, -0.00333333,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [ 0.00144338, 0.0025 , -0.00144338, -0.0025 , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [-0.00083333, -0.00144338, 0.005 , 0. , -0.00083333,\n",
" 0.00144338, -0.00333333, 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [-0.00144338, -0.0025 , 0. , 0.005 , 0.00144338,\n",
" -0.0025 , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [-0.00333333, 0. , -0.00083333, 0.00144338, 0.00833333,\n",
" 0. , -0.00083333, -0.00144338, -0.00333333, 0. ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [ 0. , 0. , 0.00144338, -0.0025 , 0. ,\n",
" 0.005 , -0.00144338, -0.0025 , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [ 0. , 0. , -0.00333333, 0. , -0.00083333,\n",
" -0.00144338, 0.00833333, 0. , -0.00083333, 0.00144338,\n",
" -0.00333333, 0. , 0. , 0. ],\n",
" [ 0. , 0. , 0. , 0. , -0.00144338,\n",
" -0.0025 , 0. , 0.005 , 0.00144338, -0.0025 ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [ 0. , 0. , 0. , 0. , -0.00333333,\n",
" 0. , -0.00083333, 0.00144338, 0.00833333, 0. ,\n",
" -0.00083333, -0.00144338, -0.00333333, 0. ],\n",
" [ 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0.00144338, -0.0025 , 0. , 0.005 ,\n",
" -0.00144338, -0.0025 , 0. , 0. ],\n",
" [ 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , -0.00333333, 0. , -0.00083333, -0.00144338,\n",
" 0.005 , 0. , -0.00083333, 0.00144338],\n",
" [ 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , -0.00144338, -0.0025 ,\n",
" 0. , 0.005 , 0.00144338, -0.0025 ],\n",
" [ 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , -0.00333333, 0. ,\n",
" -0.00083333, 0.00144338, 0.00416667, -0.00144338],\n",
" [ 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0.00144338, -0.0025 , -0.00144338, 0.0025 ]])"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"fea_arrays = np.load('./fea_arrays.npz')\n",
"K=fea_arrays['K']\n",
"K"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this project we are solving the problem, $\\mathbf{F}=\\mathbf{Ku}$, where $\\mathbf{F}$ is measured in Newtons, $\\mathbf{K}$ `=E*A*K` is the stiffness in N/mm, `E` is Young's modulus measured in MPa (N/mm^2), and `A` is the cross-sectional area of the beam measured in mm^2. \n",
"\n",
"There are three constraints on the motion of the joints:\n",
"\n",
"i. node 1 displacement in the x-direction is 0 = `u[0]`\n",
"\n",
"ii. node 1 displacement in the y-direction is 0 = `u[1]`\n",
"\n",
"iii. node 7 displacement in the y-direction is 0 = `u[13]`\n",
"\n",
"We can satisfy these constraints by leaving out the first, second, and last rows and columns from our linear algebra description. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1. Calculate the condition of `K` and the condition of `K[2:13,2:13]`. \n",
"\n",
"a. What error would you expect when you solve for `u` in `K*u = F`? \n",
"\n",
"b. Why is the condition of `K` so large?\n",
"\n",
"c. What error would you expect when you solve for `u[2:13]` in `K[2:13,2:13]*u=F[2:13]`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__A:__"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.457753e+17\n"
]
}
],
"source": [
"print('{:e}'.format(np.linalg.cond(K)))"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Expected error for u in K*U is 10\n"
]
}
],
"source": [
"c = 17\n",
"t = 16\n",
"error = 10**(c-t)\n",
"print('Expected error for u in K*U is ',error)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__B:__"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__The condition of K is so large because it is most likely ill-conditioned. This is most likely due to the fact that K is so large.__"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__C:__"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5.223543e+01\n"
]
}
],
"source": [
"K_partial = K[2:13,2:13]\n",
"print('{:e}'.format(np.linalg.cond(K_partial)))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Expected error for u in K*U is 1e-15\n"
]
}
],
"source": [
"c = 1\n",
"t = 16\n",
"error = 10**(c-t)\n",
"print('Expected error for u in K*U is ',error)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2. Apply a 100-N downward force to the central top node (n 4)\n",
"\n",
"a. Create the LU matrix for K[2:13,2:13]\n",
"\n",
"b. Use cross-sectional area of $0.1~mm^2$ and steel and almuminum moduli, $E=200~GPa~and~E=70~GPa,$ respectively. Solve the forward and backward substitution methods for \n",
"\n",
"* $\\mathbf{Ly}=\\mathbf{F}\\frac{1}{EA}$\n",
"\n",
"* $\\mathbf{Uu}=\\mathbf{y}$\n",
"\n",
"_your array `F` is zeros, except for `F[5]=-100`, to create a -100 N load at node 4._\n",
"\n",
"c. Plug in the values for $\\mathbf{u}$ into the full equation, $\\mathbf{Ku}=\\mathbf{F}$, to solve for the reaction forces\n",
"\n",
"d. Create a plot of the undeformed and deformed structure with the displacements and forces plotted as vectors (via `quiver`). Your result for aluminum should match the following result from [extra-FEA_material](./extra-FEA_material.ipynb). _note: The scale factor is applied to displacements $\\mathbf{u}$, not forces._\n",
"\n",
"![Deformed structure with loads applied](../images/deformed_truss.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__A:__"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def LUNaive(A):\n",
" '''LUNaive: naive LU decomposition\n",
" L,U = LUNaive(A): LU decomposition without pivoting.\n",
" solution method requires floating point numbers, \n",
" as such the dtype is changed to float\n",
" \n",
" Arguments:\n",
" ----------\n",
" A = coefficient matrix\n",
" returns:\n",
" ---------\n",
" L = Lower triangular matrix\n",
" U = Upper triangular matrix\n",
" '''\n",
" [m,n] = np.shape(A)\n",
" if m!=n: error('Matrix A must be square')\n",
" nb = n+1\n",
" # Gauss Elimination\n",
" U = A.astype(float)\n",
" L = np.eye(n)\n",
"\n",
" for k in range(0,n-1):\n",
" for i in range(k+1,n):\n",
" if U[k,k] != 0.0:\n",
" factor = U[i,k]/U[k,k]\n",
" L[i,k]=factor\n",
" U[i,:] = U[i,:] - factor*U[k,:]\n",
" return L,U"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"L= [[ 1. 0. 0. 0. 0. 0.\n",
" 0. 0. 0. 0. 0. ]\n",
" [ 0. 1. 0. 0. 0. 0.\n",
" 0. 0. 0. 0. 0. ]\n",
" [-0.16666667 0.28867513 1. 0. 0. 0.\n",
" 0. 0. 0. 0. 0. ]\n",
" [ 0.28867513 -0.5 0.12371791 1. 0. 0.\n",
" 0. 0. 0. 0. 0. ]\n",
" [-0.66666667 0. -0.17857143 -0.09622504 1. 0.\n",
" 0. 0. 0. 0. 0. ]\n",
" [ 0. 0. -0.18557687 -0.72222222 -0.08247861 1.\n",
" 0. 0. 0. 0. 0. ]\n",
" [ 0. 0. -0.42857143 0.12830006 -0.23809524 0.33425542\n",
" 1. 0. 0. 0. 0. ]\n",
" [ 0. 0. 0. 0. 0.24743583 -0.78947368\n",
" 0.18426072 1. 0. 0. 0. ]\n",
" [ 0. 0. 0. 0. -0.57142857 -0.09116057\n",
" -0.24822695 -0.21650635 1. 0. 0. ]\n",
" [ 0. 0. 0. 0. 0. 0.\n",
" -0.23339692 -0.875 -0.32768529 1. 0. ]\n",
" [ 0. 0. 0. 0. 0. 0.\n",
" -0.53900709 0.24056261 -0.59459459 0.28867513 1. ]]\n",
"U= [[ 5.00000000e-03 0.00000000e+00 -8.33333333e-04 1.44337567e-03\n",
" -3.33333333e-03 0.00000000e+00 0.00000000e+00 0.00000000e+00\n",
" 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n",
" [ 0.00000000e+00 5.00000000e-03 1.44337567e-03 -2.50000000e-03\n",
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n",
" 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n",
" [ 0.00000000e+00 0.00000000e+00 7.77777778e-03 9.62250449e-04\n",
" -1.38888889e-03 -1.44337567e-03 -3.33333333e-03 0.00000000e+00\n",
" 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n",
" [-2.16840434e-19 0.00000000e+00 0.00000000e+00 3.21428571e-03\n",
" -3.09294787e-04 -2.32142857e-03 4.12393049e-04 0.00000000e+00\n",
" 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n",
" [-2.08654805e-20 0.00000000e+00 0.00000000e+00 0.00000000e+00\n",
" 5.83333333e-03 -4.81125224e-04 -1.38888889e-03 1.44337567e-03\n",
" -3.33333333e-03 0.00000000e+00 0.00000000e+00]\n",
" [-1.58327936e-19 0.00000000e+00 0.00000000e+00 0.00000000e+00\n",
" 0.00000000e+00 3.01587302e-03 1.00807190e-03 -2.38095238e-03\n",
" -2.74928700e-04 0.00000000e+00 0.00000000e+00]\n",
" [ 7.57746398e-20 0.00000000e+00 0.00000000e+00 0.00000000e+00\n",
" 0.00000000e+00 0.00000000e+00 6.18421053e-03 1.13950711e-03\n",
" -1.53508772e-03 -1.44337567e-03 -3.33333333e-03]\n",
" [-1.33795162e-19 0.00000000e+00 0.00000000e+00 0.00000000e+00\n",
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.55319149e-03\n",
" -5.52782173e-04 -2.23404255e-03 6.14202414e-04]\n",
" [-3.65145909e-20 0.00000000e+00 0.00000000e+00 0.00000000e+00\n",
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n",
" 2.56944444e-03 -8.41969143e-04 -1.52777778e-03]\n",
" [-1.11350493e-19 0.00000000e+00 0.00000000e+00 0.00000000e+00\n",
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n",
" 0.00000000e+00 2.43243243e-03 7.02182760e-04]\n",
" [ 8.34619222e-20 0.00000000e+00 0.00000000e+00 0.00000000e+00\n",
" 0.00000000e+00 0.00000000e+00 -4.33680869e-19 0.00000000e+00\n",
" 0.00000000e+00 -1.08420217e-19 1.11111111e-03]]\n"
]
}
],
"source": [
"L=((LUNaive(K[2:13,2:13]))[0])\n",
"U=((LUNaive(K[2:13,2:13]))[1])\n",
"print('L=',L)\n",
"print('U=',U)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def solveLU(L,U,b):\n",
" '''solveLU: solve for x when LUx = b\n",
" x = solveLU(L,U,b): solves for x given the lower and upper \n",
" triangular matrix storage\n",
" uses forward substitution for \n",
" 1. Ly = b\n",
" then backward substitution for\n",
" 2. Ux = y\n",
" \n",
" Arguments:\n",
" ----------\n",
" L = Lower triangular matrix\n",
" U = Upper triangular matrix\n",
" b = output vector\n",
" \n",
" returns:\n",
" ---------\n",
" x = solution of LUx=b '''\n",
" n=len(b)\n",
" x=np.zeros(n)\n",
" y=np.zeros(n)\n",
" \n",
" # forward substitution\n",
" for k in range(0,n):\n",
" y[k] = b[k] - L[k,0:k]@y[0:k]\n",
" # backward substitution\n",
" for k in range(n-1,-1,-1):\n",
" x[k] = (y[k] - U[k,k+1:n]@x[k+1:n])/U[k,k]\n",
" return x"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__B:__"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__Steel:__"
]
},
{
"cell_type": "code",
"execution_count": 117,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0.01948557, -0.02125 , 0.00433013, -0.04 , 0.01082532,\n",
" -0.05375 , 0.01732051, -0.04 , 0.00216506, -0.02125 ,\n",
" 0.02165064])"
]
},
"execution_count": 117,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"F=np.array([[0],[0],[0],[0],[0],[-100],[0],[0],[0],[0],[0]])\n",
"\n",
"#E for steel 200 GPa\n",
"E_steel=200e3\n",
"\n",
"#Area 0.1 mm^2\n",
"a=0.1\n",
"\n",
"#Variables\n",
"x=1/E_steel*a\n",
"b=F*x\n",
"\n",
"u_steel=solveLU(L,U,b)\n",
"u_steel"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__Aluminum:__"
]
},
{
"cell_type": "code",
"execution_count": 118,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0.05567306, -0.06071429, 0.01237179, -0.11428571, 0.03092948,\n",
" -0.15357143, 0.04948717, -0.11428571, 0.0061859 , -0.06071429,\n",
" 0.06185896])"
]
},
"execution_count": 118,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"F=np.array([[0],[0],[0],[0],[0],[-100],[0],[0],[0],[0],[0]])\n",
"\n",
"#E for aluminum 70 GPa\n",
"E_aluminum=70e3\n",
"\n",
"#Area 0.1 mm^2\n",
"a=0.1\n",
"\n",
"#Variables\n",
"x2=1/E_al*a\n",
"b=F*x2\n",
"\n",
"u_aluminum=solveLU(L,U,b)\n",
"u_aluminum"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__C:__"
]
},
{
"cell_type": "code",
"execution_count": 119,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"l=300 \n",
"nodes = np.array([[1,0,0],[2,0.5,3**0.5/2],[3,1,0],[4,1.5,3**0.5/2],[5,2,0],[6,2.5,3**0.5/2],[7,3,0]])\n",
"nodes[:,1:3]*=l\n",
"elems = np.array([[1,1,2],[2,2,3],[3,1,3],[4,2,4],[5,3,4],[6,3,5],[7,4,5],[8,4,6],[9,5,6],[10,5,7],[11,6,7]])\n",
"ix = 2*np.block([[np.arange(0,5)],[np.arange(1,6)],[np.arange(2,7)],[np.arange(0,5)]])\n",
"iy = ix+1\n",
"\n",
"r = np.block([n[1:3] for n in nodes])\n",
"s = 5\n",
"u_st = np.zeros(2*len(nodes))\n",
"u_st[2:13] = u_s\n",
"u_al = np.zeros(2*len(nodes))\n",
"u_al[2:13] = u_a\n",
"st_forces = E_st*a*K@u_st\n",
"al_forces = E_al*a*K@u_al"
]
},
{
"cell_type": "code",
"execution_count": 120,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Steel Reaction Forces: [-2.22044605e-16 5.00000000e-01 0.00000000e+00 8.32667268e-17\n",
" -2.22044605e-16 -3.88578059e-16 1.04280369e-16 -1.00000000e+00\n",
" 0.00000000e+00 -3.88578059e-16 5.55111512e-17 0.00000000e+00\n",
" -4.44089210e-16 5.00000000e-01]\n"
]
}
],
"source": [
"print('Steel Reaction Forces:',st_forces)"
]
},
{
"cell_type": "code",
"execution_count": 121,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Aluminum Reaction Forces: [-3.33066907e-16 5.00000000e-01 -2.22044605e-16 1.11022302e-16\n",
" 0.00000000e+00 -8.32667268e-17 3.26595333e-16 -1.00000000e+00\n",
" 4.44089210e-16 -3.88578059e-16 5.55111512e-17 0.00000000e+00\n",
" 0.00000000e+00 5.00000000e-01]\n"
]
}
],
"source": [
"print('Aluminum Reaction Forces:',al_forces)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__D:__"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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gXj80Udn9aJF+Z21a3PGBB/dde5ZZ+WNt92W+6uy4/nnT1GFMLM9av78XP3a12YoyeoJ3oqyZs2avOC00zIvyfy//VtPk2DOOvzUU/Ot+fOzw0c/mvarXw26HGAM/pVixrn7lluy+z/8Q1YuWpT9/+qvBl0ODNQO/RW4Dz799PzmN78Z9373veY1WZDkzre8JdlqqymqDma+Z5x+em6dNy8HrlmTy/7xH8e93wcOOyzPSXLntttm6Jhjpq5AmOG22nrr3H7iidlmeDhXv/71gy4HGINgz4xzyVFHZad165IPfzjlDAlz3FYHHphrd945S5J8epxnHFe8//054r77cvfQUB53yilTWyB0wK8+/OEkyaI3vnFc46+99toc981vJkm2PeecKasLuuLFJ56YL22/fZ74xS/mvlWrBl0OMAqpiRnl5u9/P/t//ev5zpIl2dsZEkiSPPGSS7I2ySsvvTQ3rl690bHDw8N56p/+ae+H+0c/6vJhSLLH29+e67baKns+8EAueMc7HnH8qYcemt2T3PGkJyWeJgGZN29eHnPKKVmb5Lqjjhp0OcAo/MbHjLLqyCOzIMmOp58+6FJgxnjU4sW55tnPzqOTfPOAAzY69sOveEUOaC23PfrRWeTDMfgPi849N0nytJNO2uhilF/96lfz3htuSEuyff9WGCA56Mgjc/aTn5ynfP/7ufNrXxt0OcB6BHtmjFU335yDfvzjXPSMZwfsyCYAABzjSURBVGSXgw8edDkwo+z5ta/lN0lefuON+e6//uuoY26//fYcefbZSZLt+iEG6Hn8856XH+y4Yx7fWs59wQvGHHfpy16WxyZZ87u/m+y22/QVCB3w9DPOyM1Jfnn88WOO+clPktamryagR7BnxlizcmXuqspTP/e5QZcCM8/8+bnpLW/JFkl+edhhow457bnPzW5Jbtp11wwddNC0lgdd8NuXX57hJAd/7Wu55847N+j//08+OW+7664MV2U799bDBp6y//75l+c8J0+8+ebcNMaY17y295nYW9+afOUryX33TWuJMGcJ9swIlyZ55gMP5AeHH57tnvjEQZcDM9JuK1bkjnnzcsg99+RL6z1Te+WVV+bolSuzLslO/UW/gIdbuOOO+e6yZdkqybf33fdhfevWrcuWb397tkxy3zHHJIsWDaRGmOle8JnPZOUjrN/y058mJ5+c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\n",
"text/plain": [
"<Figure size 1080x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize = (15,10))\n",
"plt.plot(r[ix],r[iy],'-',color='k')\n",
"plt.plot(r[ix]+u_al[ix]*s,r[iy]+u_al[iy]*s,color='r')\n",
"\n",
"plt.quiver(r[ix],r[iy],u_al[ix],u_al[iy],color='b',label='Displacements')\n",
"plt.quiver(r[ix],r[iy],F_al[ix],F_al[iy],color='r',label='Forces')\n",
"\n",
"\n",
"plt.title('Truss Structure\\nEach Element is 2 Nodes and Length L\\nTriangle Markers are Constraints')\n",
"plt.xlabel('x (mm)')\n",
"plt.ylabel('y (mm)')\n",
"plt.legend(bbox_to_anchor=(1,0.5))\n",
"plt.axis(l*np.array([-0.5,3.5,-1,1.5]));"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3. Determine cross-sectional area\n",
"\n",
"a. Using aluminum, what is the minimum cross-sectional area to keep total y-deflections $<0.2~mm$?\n",
"\n",
"b. Using steel, what is the minimum cross-sectional area to keep total y-deflections $<0.2~mm$?\n",
"\n",
"c. What are the weights of the aluminum and steel trusses with the chosed cross-sectional areas?\n",
"\n",
"d. The current price (2020/03) of [aluminum](https://tradingeconomics.com/commodity/aluminum) is 1545 dollars/Tonne and [steel](https://tradingeconomics.com/commodity/steel) is 476 dollars/Tonne [2]. Which material is cheaper to create the truss?"
]
},
{
"cell_type": "code",
"execution_count": 129,
"metadata": {},
"outputs": [],
"source": [
"#Steel\n",
"F=np.array([[0],[0],[0],[0],[0],[-100],[0],[0],[0],[0],[0]])\n",
"\n",
"#E for steel 200 GPa\n",
"E_steel=200e3\n",
"\n",
"#Area mm^2\n",
"a_steel=0.031\n",
"\n",
"#Variables\n",
"x=1/E_steel*a_steel\n",
"b=F*x\n",
"\n",
"u_steel=solveLU(L,U,b)\n",
"u_steel\n",
"\n",
"\n",
"#Aluminum\n",
"F=np.array([[0],[0],[0],[0],[0],[-100],[0],[0],[0],[0],[0]])\n",
"\n",
"#E for aluminum 70 GPa\n",
"E_aluminum=70e3\n",
"\n",
"#Area mm^2\n",
"a_aluminum=0.010\n",
"\n",
"#Variables\n",
"x2=1/E_al*a_aluminum\n",
"b=F*x2\n",
"\n",
"u_aluminum=solveLU(L,U,b)\n",
"u_aluminum\n",
"\n",
"#Reaction Forces\n",
"l=300 \n",
"nodes = np.array([[1,0,0],[2,0.5,3**0.5/2],[3,1,0],[4,1.5,3**0.5/2],[5,2,0],[6,2.5,3**0.5/2],[7,3,0]])\n",
"nodes[:,1:3]*=l\n",
"elems = np.array([[1,1,2],[2,2,3],[3,1,3],[4,2,4],[5,3,4],[6,3,5],[7,4,5],[8,4,6],[9,5,6],[10,5,7],[11,6,7]])\n",
"ix = 2*np.block([[np.arange(0,5)],[np.arange(1,6)],[np.arange(2,7)],[np.arange(0,5)]])\n",
"iy = ix+1\n",
"\n",
"r = np.block([n[1:3] for n in nodes])\n",
"s = 5\n",
"u_st = np.zeros(2*len(nodes))\n",
"u_st[2:13] = u_s\n",
"u_al = np.zeros(2*len(nodes))\n",
"u_al[2:13] = u_a\n",
"st_forces = E_st*a*K@u_st\n",
"al_forces = E_al*a*K@u_al"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__A:__"
]
},
{
"cell_type": "code",
"execution_count": 140,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-1.8321428571428577\n"
]
}
],
"source": [
"#Guess and check method\n",
"d_tot_a=np.sum(u_al[iy])\n",
"print(d_tot_2)\n"
]
},
{
"cell_type": "code",
"execution_count": 144,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Using aluminum, the minimum cross-sectional area to keep total y-deflections <0.2 𝑚𝑚 = 0.01\n"
]
}
],
"source": [
"print('Using aluminum, the minimum cross-sectional area to keep total y-deflections <0.2 𝑚𝑚 = ', a_aluminum)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__B:__"
]
},
{
"cell_type": "code",
"execution_count": 145,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-0.6412500000000002\n"
]
}
],
"source": [
"#Guess and check method\n",
"d_tot_s=np.sum(u_st[iy])\n",
"print(d_tot_s)"
]
},
{
"cell_type": "code",
"execution_count": 146,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Using steel, the minimum cross-sectional area to keep total y-deflections <0.2 𝑚𝑚 = 0.031\n"
]
}
],
"source": [
"print('Using steel, the minimum cross-sectional area to keep total y-deflections <0.2 𝑚𝑚 = ', a_steel)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__C:__"
]
},
{
"cell_type": "code",
"execution_count": 147,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Weight of Aluminum Truss= 0.00813 grams\n"
]
}
],
"source": [
"#Aluminum\n",
"\n",
"#Steel aluminum\n",
"vol_aluminum=0.01*l\n",
"\n",
"#Aluminum Density \n",
"den_aluminum=0.00271\n",
"\n",
"#Weight\n",
"weight_aluminum=vol_aluminum*den_aluminum\n",
"print('Weight of Aluminum Truss=',weight_aluminum,'grams')"
]
},
{
"cell_type": "code",
"execution_count": 150,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Weight of Steel Truss= 0.006422700000000001 grams\n"
]
}
],
"source": [
"#Steel\n",
"\n",
"#Steel Volume\n",
"vol_steel=0.0079*l\n",
"\n",
"#Steel Density \n",
"den_steel=0.00271\n",
"\n",
"#Weight\n",
"weight_steel=vol_steel*den_steel\n",
"print('Weight of Steel Truss=',weight_st,'grams')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__D:__"
]
},
{
"cell_type": "code",
"execution_count": 153,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Weight of Aluminum Truss = 8.129999999999999e-09 tons\n",
"Cost of Aluminum Truss = 1.2560849999999999e-05 dollars\n"
]
}
],
"source": [
"#Aluminum\n",
"print('Weight of Aluminum Truss = ',weight_aluminum*1e-6,'tons')\n",
"print('Cost of Aluminum Truss = ',weight_aluminum*1e-6*1545,'dollars')"
]
},
{
"cell_type": "code",
"execution_count": 154,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Weight of Steel Truss = 6.4227e-09 tons\n",
"Cost of Steel Truss = 3.0572052e-06 dollars\n"
]
}
],
"source": [
"#Steel\n",
"print('Weight of Steel Truss = ',weight_st*1e-6,'tons')\n",
"print('Cost of Steel Truss = ',weight_steel*1e-6*476,'dollars')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__Answer:__ According to this data, the Steel Truss would be cheaper."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4. Future Predictions using past data\n",
"\n",
"The data from the price of aluminum and steel are in the data files `../data/al_prices.csv` and `../data/steel_price.csv`. If you're going to produce these supports for 5 years, how would you use the price history of steel and aluminum to compare how much manufacturing will cost?\n",
"\n",
"a. Separate the aluminum and steel data points into training and testing data (70-30%-split)\n",
"\n",
"b. Fit the training data to polynomial functions of order n. _Choose the highest order._\n",
"\n",
"c. Plot the error between your model and the training data and the error between your model and you testing data as a function of the polynomial function order, n. [Create the training-testing curves](../notebooks/03_Linear-regression-algebra.ipynb)\n",
"\n",
"d. Choose a polynomial function to predict the price of aluminum and steel in the year 2025. \n",
"\n",
"e. Based upon your price model would you change your answer in __3.b__?"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([2014.89361702, 2014.93617021, 2014.94680851, 2014.9787234 ,\n",
" 2015. , 2015.05319149, 2015.05319149, 2015.06382979,\n",
" 2015.08510638, 2015.08510638, 2015.11702128, 2015.13829787,\n",
" 2015.14893617, 2015.17021277, 2015.17021277, 2015.20212766,\n",
" 2015.23404255, 2015.25531915, 2015.27659574, 2015.34042553,\n",
" 2015.37234043, 2015.39361702, 2015.40425532, 2015.44680851,\n",
" 2015.45744681, 2015.4893617 , 2015.56382979, 2015.56382979,\n",
" 2015.61702128, 2015.64893617, 2015.68085106, 2015.74468085,\n",
" 2015.79787234, 2015.85106383, 2015.85106383, 2015.88297872,\n",
" 2015.90425532, 2015.93617021, 2015.95744681, 2015.96808511,\n",
" 2016. , 2016.05319149, 2016.10638298, 2016.13829787,\n",
" 2016.15957447, 2016.17021277, 2016.22340426, 2016.22340426,\n",
" 2016.25531915, 2016.25531915, 2016.27659574, 2016.29787234,\n",
" 2016.32978723, 2016.32978723, 2016.34042553, 2016.38297872,\n",
" 2016.38297872, 2016.39361702, 2016.44680851, 2016.4787234 ,\n",
" 2016.5 , 2016.5106383 , 2016.56382979, 2016.58510638,\n",
" 2016.61702128, 2016.64893617, 2016.70212766, 2016.78723404,\n",
" 2016.78723404, 2016.84042553, 2016.90425532, 2016.90425532,\n",
" 2016.92553191, 2016.93617021, 2016.95744681, 2016.9893617 ,\n",
" 2017.04255319, 2017.04255319, 2017.07446809, 2017.10638298,\n",
" 2017.14893617, 2017.18085106, 2017.18085106, 2017.21276596,\n",
" 2017.24468085, 2017.27659574, 2017.27659574, 2017.32978723,\n",
" 2017.35106383, 2017.38297872, 2017.38297872, 2017.40425532,\n",
" 2017.43617021, 2017.44680851, 2017.4893617 , 2017.5212766 ,\n",
" 2017.55319149, 2017.57446809, 2017.60638298, 2017.63829787,\n",
" 2017.67021277, 2017.74468085, 2017.78723404, 2017.82978723,\n",
" 2017.84042553, 2017.86170213, 2017.89361702, 2017.89361702,\n",
" 2017.91489362, 2017.92553191, 2017.92553191, 2017.95744681,\n",
" 2018.03191489, 2018.11702128, 2018.17021277, 2018.20212766,\n",
" 2018.21276596, 2018.21276596, 2018.25531915, 2018.25531915,\n",
" 2018.31914894, 2018.35106383, 2018.40425532, 2018.43617021,\n",
" 2018.4893617 , 2018.5212766 , 2018.5212766 , 2018.54255319,\n",
" 2018.55319149, 2018.55319149, 2018.63829787, 2018.69148936,\n",
" 2018.72340426, 2018.76595745, 2018.77659574, 2018.85106383,\n",
" 2018.89361702, 2018.93617021, 2018.9787234 , 2019.0212766 ,\n",
" 2019.03191489, 2019.10638298, 2019.13829787, 2019.14893617,\n",
" 2019.17021277, 2019.20212766, 2019.22340426, 2019.27659574,\n",
" 2019.31914894, 2019.34042553, 2019.34042553, 2019.36170213,\n",
" 2019.37234043, 2019.39361702, 2019.44680851, 2019.45744681,\n",
" 2019.4893617 , 2019.54255319, 2019.57446809, 2019.61702128,\n",
" 2019.62765957, 2019.68085106, 2019.71276596, 2019.71276596,\n",
" 2019.76595745, 2019.78723404, 2019.79787234, 2019.81914894,\n",
" 2019.85106383, 2019.88297872, 2019.90425532, 2019.91489362,\n",
" 2019.93617021, 2019.93617021, 2019.9893617 , 2020. ,\n",
" 2020.0212766 , 2020.04255319, 2020.04255319, 2020.07446809,\n",
" 2020.08510638, 2020.10638298, 2020.13829787, 2020.21276596,\n",
" 2020.27659574])"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#load data\n",
"fname = '../data/steel_price.csv'\n",
"st_year = pd.read_csv(fname,skiprows=4)\n",
"steel_year\n"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [],
"source": [
"mos2 = np.loadtxt('../data/steel_price.csv',delimiter=',',skiprows=5)\n",
"steel_year = mos2[:,0] \n",
"steel_price = mos2[:,1] "
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [],
"source": [
"np.random.seed(103)\n",
"i_rand=np.random.randint(0,len(steel_year),size=len(steel_year))\n",
"#first half of data as training\n",
"train_per=0.7\n",
"st_year_train=steel_year[i_rand[:int(len(steel_year)*train_per)]]\n",
"st_price_train=steel_price[i_rand[:int(len(steel_year)*train_per)]]\n",
"\n",
"#second half of data as testing\n",
"st_year_test=steel_year[i_rand[int(len(steel_year)*train_per):]]\n",
"st_price_test=steel_price[i_rand[int(len(steel_year)*train_per):]]"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>2016.0455332</th>\n",
" <th>621.686746988</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2016.070431</td>\n",
" <td>814.457831</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2016.095617</td>\n",
" <td>1065.060241</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2016.126474</td>\n",
" <td>853.012048</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2016.151948</td>\n",
" <td>1161.445783</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2016.160792</td>\n",
" <td>1334.939759</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>194</th>\n",
" <td>2020.097667</td>\n",
" <td>2009.638554</td>\n",
" </tr>\n",
" <tr>\n",
" <th>195</th>\n",
" <td>2020.122372</td>\n",
" <td>2163.855422</td>\n",
" </tr>\n",
" <tr>\n",
" <th>196</th>\n",
" <td>2020.123622</td>\n",
" <td>2414.457831</td>\n",
" </tr>\n",
" <tr>\n",
" <th>197</th>\n",
" <td>2020.138714</td>\n",
" <td>2240.963855</td>\n",
" </tr>\n",
" <tr>\n",
" <th>198</th>\n",
" <td>2020.161978</td>\n",
" <td>2106.024096</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>199 rows × 2 columns</p>\n",
"</div>"
],
"text/plain": [
" 2016.0455332 621.686746988\n",
"0 2016.070431 814.457831\n",
"1 2016.095617 1065.060241\n",
"2 2016.126474 853.012048\n",
"3 2016.151948 1161.445783\n",
"4 2016.160792 1334.939759\n",
".. ... ...\n",
"194 2020.097667 2009.638554\n",
"195 2020.122372 2163.855422\n",
"196 2020.123622 2414.457831\n",
"197 2020.138714 2240.963855\n",
"198 2020.161978 2106.024096\n",
"\n",
"[199 rows x 2 columns]"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fname2 = '../data/al_price.csv'\n",
"al_year = pd.read_csv(fname2,skiprows=4)\n",
"al_year"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [],
"source": [
"mos3 = np.loadtxt('../data/al_price.csv',delimiter=',',skiprows=5)\n",
"aluminum_year = mos3[:,0] \n",
"al_price = mos3[:,1] "
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [],
"source": [
"np.random.seed(103)\n",
"i_rand=np.random.randint(0,len(aluminum_year),size=len(aluminum_year))\n",
"#first half of data as training\n",
"train_per=0.7\n",
"al_year_train=aluminum_year[i_rand[:int(len(aluminum_year)*train_per)]]\n",
"al_price_train=al_price[i_rand[:int(len(aluminum_year)*train_per)]]\n",
"\n",
"#second half of data as testing\n",
"al_year_test=aluminum_year[i_rand[int(len(aluminum_year)*train_per):]]\n",
"al_price_test=al_price[i_rand[int(len(aluminum_year)*train_per):]]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAEWCAYAAABfdFHAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3deXhU5dn48e+dEBL2HQmgIIooxLAkgOAGoqAiqBSt4q+gXSjWVvStvK17itq+vloVXutCXdBWq1iNSHGpKFRUdsEoICgIsgqGTSQJWe7fH+ckTJKZyWQyJ2eS3J/rmouZ58w55z6ZMHee5TyPqCrGGGOMVxL8DsAYY0z9ZonGGGOMpyzRGGOM8ZQlGmOMMZ6yRGOMMcZTlmiMMcZ4yhKNiVsiMltE7vXo2GtFZJgXx/aSiNwmIk/5HYeXROSwiPTwOw4TO5ZojO9EZJGI7BeR5No6p6r2UdVFtXW+UNxketT9ct0nIu+KyKmh3q+qf1TVn9dmjF5yP/ty16OqzVV1s18xmdizRGN8JSLdgbMBBcb6Gox//ldVmwNdgT3A7GBvEpFGtRlUrIlIot8xGH9YojF+mwgsxflynRTqTSJyrYh8WKFMReRk9/lsEXlMRN5yawcfiUgnEXnErS19ISL9A/bdIiLnu8+zRGSOiDwvIt+7zWqZwc4TcK573efDRGS7iPy3iOwRkV0icpmIXCwiG91aym2R/CBU9QjwIpAWENc/ReTvInIIuNYt+3tALGeJyMcickBEtonItW55sog8KCLfiMi3IvKEiDQJ8bNNEJE7RGSrew3Pi0grd9vbIvLrCu//VETGuc9PdWth+0Rkg4hcWeHn9LiIvCkiPwDDKxznPpw/Mh51P7NHY/C5dhaRV0Vkr4h8LSI3RvKzN96yRGP8NhF4wX2MEpHjanCsK4E7gPZAAbAE+MR9/U/goTD7jgVeAloDbwCPVuO8nYAUoAtwF/BX4P8BGThfpHdF0ucgIs2Ba4DVAcWXurG3xvkZBb7/BOAt4P+ADkA/YI27+X7gFLfs5IDYgrnWfQwHegDNOXb9LwJXB5yzN9ANmC8izYB33fd0dN/3mIj0CTj2BOA+oAVQ7g8FVb0dWAz82m0uK5fQAkT0uYpIAjAP+NS93hHATSIyKsRxTS2xRGN8IyJn4XxpzVHVVcAmnC+maGWr6ipVzQeygXxVfV5Vi4GXgf5h9v1QVd903/s3oG81zlsI3KeqhTjJqj0wQ1W/V9W1wFogPcz+t4jIAeArnC/5awO2LVHV11W1RFXzKux3DbBAVf+hqoWqmquqa0REgF8AN6vqPlX9HvgjcFWI818DPKSqm1X1MHArcJXbVJcN9BORbgHvfU1VC4BLgC2q+qyqFqnqJ8CrwPiAY89V1Y/c+PPD/AzCifRzHQh0UNXpqnrU7ef5a5jrNrWkTrf5mjpvEvBvVf3Off2iW/ZwlMf7NuB5XpDXzcPsuzvg+REgRUQaqWpRBOfNdb/0Ss8TLJZw535QVe8IsW1bmP2Ox0nOFXUAmgKrnJwDgACh+kg6A1sDXm/F+W44TlV3iMh8nC/r+91/J7vv6wYMdpNkqUY4iTqS+CMV6efaDehcIZ5EnFqT8ZElGuMLt7/gSiBRREq/5JOB1iLSV1U/rbDLDzhfnqX7d6qdSAEn8TQNeN0J2F5L5w43vfo2YFCQ8u9wvoD7qOqOCM6xE+dLutQJQBHHvtD/AdwtIh8ATYCFAef/j6peEObYVU0PH8vp47cBX6tqzxge08SANZ0Zv1wGFAO9cfoR+gGn4fz1OTHI+z8F+ohIPxFJAbJqKU5w+j0miEiiiFwInFuL5w7nBeB8EblSRBqJSDsR6aeqJThNRg+LSEcAEekSpq/iH8DNInKi20/0R+DlgNrcmziJaLpbXuKW/ws4RUR+IiJJ7mOgiJxWjWv4FqdfKBaWA4dE5Hci0sT9vNJEZGCMjm+iZInG+GUS8KyqfqOqu0sfOJ3Q10iFobyquhHni24B8CUVOpY9NhUYAxzA6aN4vRbPHZKqfgNcDPwW2IeTEEv7ln6H0+ez1B2xtgDoFeJQz+A0d30AfA3kA78JOE8B8BpwPk7zZmn598BInOa0nTjNj/fj1EwjNQMY744gm1mN/Spxmy/H4PzR8jVOze4poFVNjmtqTmzhM2OMMV6yGo0xxhhPWaIxxhjjKUs0xhhjPGWJxhhjjKfsPpoK2rdvr927d/c7DGOMqVNWrVr1nap2CLbNEk0F3bt3Z+XKlX6HYYwxdYqIbA21zZrOjDHGeMoSjTHGGE9ZojHGGOMpSzTGGGM8ZYnGGGOMpyzRGGOM8ZQlGmOMMZ6yRGMahLVr4YMP/I7CmIbJbtg0DUJamvOvrYphTO2zGo0xxhhPWaIxDUphod8RGNPwWKIxDUpurt8RGNPwWKIxDcqUKfDqq3D0qPMwxnjPBgOYei8//9jzuXOdx4ABkJAAK1b4F5cxte311Tt44J0N7DyQR+fWTZg2qheX9e8SsjxWLNGYOq+kBEScRzBvv1257JNPnH937oTOnb2LzZiaiiY5BNsGcOtrn5FXWAzAjgN53PraZ6zcuo9XV+2oVA7ELNlYojF13qWXQrt2cOaZcNppcNZZ5bcfPBh637ffhp/+1Nv4TMNU3QQRq+QQap+UpISyslJ5hcX8Y9k2iiuM+88rLOaBdzbELNGI2o0F5WRmZqotfFZ3HDzoJJnigP8/c+ZAkyZwySXO6yefdPpmSq1ZA/v3wzXXOEnp5ZdDHz8vzzmWqV9ikQSqKg/8sgdokpTIjzK6lEsQVZWnJCWw/0jloZKJIpWSA0CX1s4v644DeTX+GQnw9f+Mjvz9IqtUNTPYNqvRmLi3ezd07Oj0qTz/PPTuDZnur/N775VPMgBXXglt28KOHZCScqyP5oor4Gc/g759ndcjRzr9NcXFkJh4bP99+6BZM1i6FIYNc2YUOPtszy/TVMGrJFBVLaG65QAPvLOhWrWHUOUVj1EqWJIB2BlFggmVtDq3jt1fWFajqcBqNPGjuBh27YLjj4devSApCT7/3NlWUgJz78xiz44+FDZuS9LRfRQ3Wsuvnsrinkuz6NjmWDnJa/nlk1m8elsW3+08Vt64+VquezSLv/9XFj/sO1a+Z/9alhZlMWgQ3H033HYb3Hefvz+Luqq6/QiRNiFBdDWEP407nQfe2RD0L/5QX7jVLe/Sugk7D+Th5TdrNDWa1k2SKCgqqdbPqjpNZ+FqNJZoKrBEEx9U4YwzYPlyKiWOPfvX0rIVJDUeTElictk+CcUFyJFVaNOMyuU/rEKbRV6eu3cZ65pm0ftI+XN37LKWy+7Nqo0fga+86F+AY19gobbFqgnJzyQgOLWBWCSzaJIDhP+5ezXqzBJNNVii8cfrd5SvnZTWQu65NIt2HYIklJJCipOaVz5QSTEkJNa4PKkglz371wY9d+pxywDKxVubCShWTUihjgWxqT2ESg7h/uoO9YUbK7FMAuGS2bRRvWJWA4PqJwevhysHY4mmGizReKtiQunYZS0Au76t/IVeWLCMlMQ+FCa3q3wg1eDjmWNYnnR0X9BzJxZ+jyY0rlYCiscmpFDHilXtIZTSn3Ysvnn8TAJVNTnF8g+CusASTTVYovHO63dkBU0ooWonSQW5FDZuW70EEcMaTXXPHSoBNWu1mD81OSfumpAgNqOTqiuaGk11m5BqKwnU9eQQS5ZoqsESTWwEq7ns2VH92kl1axVNileRl1i5zyWpYBWFyZXLQ70/9bhlUcUbrDypIJf9SUtoUzik7OexP2kJb/Rwxl/71YQE1atVxKp/IZoEG00TkiWB2mWJphos0dRcqJpLSULjan9Bd+yyNuixUo9bxqH8o+Tn9i/78k5pt5qW19zAxiceovXRM459qTdaytYzrqX78tnlyg80Xsqhi66l5VuVy0+Z8l9sevIhmhafH3n/UJgElFBytNJxDsm7PNF2hG9NSBCb0UnRJAfwbzoU4w1LNNVgiSa4UP/5n7/ltkpf9vm5/YPXBEI0U4VrcgqWOEoTRG2MTpqy771KNRGAlnpBjQcoJBXk8lyvdozd/K9K55jV7nzPm5AgdqOTLDkYSzTVUJ8Sjdd3OU89tBA9MqxaNZegf9nzLghx17QUanRSggi/zF1QOQEptKRyAgr382jS9D0KDp9dOWk1XcSMlsM9TwKWIEysWKKpBr8TTTyOTnrgnQ1B/+puUzikWjWXUH0Vj7cZcazTIEA8j056adkOivRYeUlhIv1bdmHottm0KQ5otktc6rwO8nNKKnAWxwm1rax2GFBbnPjgH9mwAd5/H666Ctq0ierHYUzMWaKphmgTTX2+wW3s5n8FbSqqds1F3uXxtiOqdW6Iz9FJz3+wg9v+sYHElnkkFzdh6vBe3DC6C39fvIP739rA4ZI8OjRrQuMvenHhD38Nej9O7t5ltDnu7Gr9DBMTl/HLJ7PKyrZsgW7dKu9uTG2zRFMN0SQaryfQ8/sGt1u/PRKTmss/ulwYs7uc/R6dpOrMvXbqqbBuXeglCgBatYJpwyvPbnDn3CyevPaVav9sfzn7irLXt97qTI8T7vzG1AZLNNUQTaI583/ej8mdxqHUVhPS5CD9Dm/0uIQJX1dvNNXRhEU80TE2/QsQv6OTdu92kkgkszvv2QO/+Y0zs3SLFs4qn82awcYXs8grqN4IvY6tF7N/T0DSOrCW376YZbNMG19ZoqmGaBLNib+f7+ncSbXRhBSqYz+p2WJKDgYfRZZUkMt3R1bTvumxfoTvjqymz4Q/oidYJ3MwmzdDy5bQvr3zuqQE/n5zFvmHjiWO/T+spU2z4PfwhBqhV3h0Gb+clUVycqVdjKkVtkyAx7yeQC+azv2ssX2A4LWHzG5tuW/eBvb+kEdqqyb87qJe7Jn5PYUVvqVKEpMpOdiflJZrKT5S+a/u/UfWcvucP3LzzZCWBpMnQ1raFay6BBITu1hiCaJHj/KvExJg4oyscmVvvnkF37yeRUJx5Z85SLkycD6nlIQ+7NwJJ57oUeDG1IDVaCrws4+mtm5wy74ji70V7trfsTd0p/Qfskfw5wlZ5B08tk9e8Vp+9lgWRUXQurXz1pUrITUVulh+iYlgsyuE+5y6dFjs20SfxljTWTX4OerMqxpAcbGziuQZZ0DOM9Wfb+yXs6/g5JOdPol33nGWTH7pJfjxjz0J14Qx67rggwfCTfRpycbUBms6qwWX9Q/eVFTdci+MHQtvvgkXXADju/ShJEgTWWLJUacTusIXVfvOa+nQ4Qq++sppHhs6FHJznRUsTe0LNSVPqCa1PTv61HKExlSW4HcAxjuvvAJPP+0kGYCFC3FmJA6iuFFzUo9b5txEqEpSQS6pxy1j3H1ZvP02TJjgHA8syfjpsnuzgn5OxY2aBX1/YeO2zF90JyOfSSN9dhojn0lj/qI7azdo0+BZ01kFfs8MECtLlsB795e/d2PvgbV0aB18NFNSQS6Tn70iyJFMXRCqSS2pIJetLefR7dCYst+DrS3nMfTybowedo8PkZr6KlzTmdVo6qnljzsrUxYmtwMRCpPb0bb9YEoKNrhNLcckFBeULUBm6qaOXdYG/VwL9TO6Hrm63O9B1yNXsyp7q0+RmoaoQSQaEblQRDaIyFci8nu/46kNTRL7BG2zT0juFbTpxTqM67ZQTWpJcnrQ34NOh8b4E6hpkOr9YAARSQT+AlwAbAdWiMgbqrrO38i8FaovprBx2yBJxZrM6oNgn+tffvle0PeW/n4EG0Jtf3SYWKv3iQYYBHylqpsBROQl4FKg3iSaYF8WSUdD9MUc3edDhMYvyYUHKGhceYrn5MIDxxaoc0chFia3Y9e3g3n9jixLNiamGkLTWRdgW8Dr7W5ZGRGZLCIrRWTl3r17azW4mir9sghsg9/17WAai/XFGMgc1ISE4qPlyhKKj5I5qAl7dgRvXrUh0SbWGkKiCTavbbmhdqo6S1UzVTWzQ4cOtRRWbIT6sjiq1hdjoN+UixmSUUJK4QFQJaXwAEMySug35eKwzavGxFJDaDrbDhwf8LorsNOnWGLO+mJMVfpNuZh+UyqXJx3dF7J5df6iO5mxOZvdCdCpBKb2uNyGQ5uoNYREswLoKSInAjuAq4AJ/oYUHeuLMbEUapYBabuQj7MPM/7Q3WW/ax9/Og+405KNiUq9bzpT1SLg18A7wHpgjqrWuY4K64sxsRZqSPSuosN2742JqYZQo0FV3wTe9DuOmtizI/gcZUeLnL4YG6JqohGseXXPda8EXTLC7r0x0WoQiaY+sL4YU1tskICJNUs0cSbUDXThOm6NiaWq7r2x2rOprnrfR1OXhOqHef2OrJBzWVlfjIm1UPfetGi0JeTvpzHhWKKJI+FuoAvVcWt/TZpYC3XvzcHCE+wGTxMVazqLI1W1jVtfjKktwe69+Wh1+HnTjAnFajRxJFR/i/XDmHhgv58mWlaj8UmwTtWOXQh6A53TD2O1F+OvUDd4duyyltfvWGuDBExIVqPxQahOf8D6YUzcCtVPCNggAROW1Wh8EOrmyz07+gRZTtlqMiZ+BOsnnHXdKyF/n40Bq9H4wm6IM/WJ/T6bqlRZoxGRrjgTUZ4NdAbygM+B+cBbqlriaYT1kN18aeoT+302VQmbaETkWZxFwv4F3A/sAVKAU4ALgdtF5Peq+oHXgdZV1ulv6jsbJGCqIqoaeqNImqp+HmZ7Y+AEVf3Ki+D8kJmZqStXrozJscqWyq3wH7C0A9X+A5r6ItgfVBD8Dyob4FI/icgqVc0Mti1sjSYwyYhIE5yksiFg+1Gg3iSZWLNOf9NQ2CABE05EgwFEZCywBnjbfd1PRN7wMrD6wDpJTUNmv/+mVKSjzu4GBgEHAFR1DdDdo5jqDbuT2jRk9vtvSkWaaIpU9aCnkdRDNuOyaciq+v2fv+hORj6TRvrsNEY+k8b8RXf6EaapBZHesPm5iEwAEkWkJ3Aj8LF3YdU9odbpsPU7TEMV7vd//qI7+Th7K+MP3V227eNP5wF3MnrYPT5HbmIt7KizsjeJNAVuB0YCArwD3KOq+d6GV/uiGXUWbnSZJRVjKps+dSIdjlxd6f/M3qb/4K4Zz/sYmYlW1KPOSqnqEZxEc3ssA6svwo0uM8ZU1unQGAqD/J/pdGiMTxEZL0WUaETkFOAWnAEAZfuo6nnehFW32OgaY6rH/s80LJH20bwCPAE8BRR7F07dZFNwGFM9yYUHKGjcJmi5qX8iTTRFqvq4p5HUYeGm4LAbMY2pLHNQE5asOkpJYuOysoTio2QOasL8RXcyY3M2uxOgUwlM7XG5DRCo4yIdDJCFM89ZNlA2XlFV692f7NFOQWOjy4ypnjVPvMmqFfnkN2pFStFBMgamsOPUJXycvZVuh8aU/V/a2nIeQy/vZskmzoUbDBBpovk6SLGqao+aBhdvYjnXmTGmemw0Wt0Vi1FnJ8Y2JGOMqcxGo9VPEa+wKSJDqTzqzP7EMMbEjI1Gq58iHd78N+AknIk1S0edKWCJxhgTMzYarX6KtEaTCfTWSDp0jDEmSjYarX6KeK4zoBOwy8NYjDENXL8pF8MTb7JqxYGgo9FsbrS6KdJE0x5YJyLLKT+8eawnURljGqx+Uy6m35TyZW9MfYmuR64uGyhQmNyOrkeuZlX2Pxg9rPZjNNUTaaLJ8jIIY4wJx0aj1W2RDm/+j4gcBwx0i5ar6h7vwjLGmGNsNFrdFulSzlcCy3HmU7kSWCYi470MzBhjSoUadWaj0eqGSJvObgcGltZiRKQDsAD4p1eBGWNMqXCj0Uz8i3Qp54QKTWW51djXGGNqpN+UixmSUUJK4QFQJaXwAEMySug35WJbEroOiLRG87aIvAP8w339Y+Atb0IyxpjKgo1GsyWh64aIaiWqOg14EkgH+gKzVPW/vQzMGGOqsip7qzvsuR2IBAx73up3aCZApFPQ3K+qvwNeC1JmjDG+sGHPdUOk/SwXBCm7KNqTisgVIrJWREpEJLPCtltF5CsR2SAiowLKM0TkM3fbTBERtzxZRF52y5eJSPeAfSaJyJfuY1K08Rpj4pMNe64bwiYaEbleRD4DThWRnIDH10BODc77OTAO+KDC+XoDVwF9gAuBx0Qk0d38ODAZ6Ok+LnTLfwbsV9WTgYeB+91jtQXuBgYDg4C7RaTybH3GmDrLhj3XDVXVaF4ALgHmAmMCHhmq+v+iPamqrlfVDUE2XQq8pKoFqvo18BUwSERSgZaqusSd2PN54LKAfZ5zn/8TGOHWdkYB76rqPlXdD7zLseRkjKkHMgc1IaH4aLmysmHPOXPg4TTIau38mzPHpyhNVYnmfeC/cL7Iv1XVre7DqyWcuwDbAl5vd8u6uM8rlpfbR1WLgINAuzDHqkREJovIShFZuXfv3hhchjGmNoQc9jz0MPMXTGNki2LSu3dlZIti5i+YZsnGJ1UNBjgDOAunJvAHEckF3gHeUtWN4XYUkQU4Mz5XdLuqzg21W5AyDVMe7T7lC1VnAbPAWco5RGzGmDgUdNjzX9L4eOs5jD809tiw55ZvwOLpjE6/0p9AG7CwicatISxyH7hNWBcB94pIT2CJqv4qxL7nRxHPduD4gNddgZ1uedcg5YH7bBeRRkArYJ9bPqzCPouiiMkYU8es+qI/XfMnVJjteQKrvoDRPsfWEFXr7n5V3QXMBn4OZOD04cTSG8BV7kiyE3E6/Ze75/1eRM5w+18m4vQble5TOqJsPPC+24/zDjBSRNq4gwBGumXGmHqu0+GxlCQGGfZ82FY28UOkk2q+KCItRaQZsA7YAPxWVT+K5qQicrmIbAeGAPPdWQdQ1bXAHPccbwM3qGrp0tHXA0/hDBDYxLGZCZ4G2onIVzj9Sb93j7UPuAdY4T6me9i3ZIyJIzbsOb5EOgVNb1U9JCLXAG8CvwNWAQ9Ec1JVzQayQ2y7D7gvSPlKIC1IeT7OrNLBjvUM8Ew0MRpj6q7kwgMUNK58N4MNe/ZHpE1nSSKShDOkeK6qFhKiY90YY/wWdtizqXWRJpongC1AM+ADEekGHPIqKGOMqYlwsz0DNuNzLROn3zzMG0QSgPGqOiegTIBEd1RavZKZmakrV670OwxjjEdKZ3zudmhM2dDnrS3nMfTybjbjcw2IyCpVzQy2rcoajaqWAL+uUKb1MckYY+o/m/G59kXadPauiNwiIseLSNvSh6eRGWOMBzodGhN86LPN+OyZSEed/dT994aAMgV6xDYcY4zxlg19rn0RJRpVPdHrQIwxpjbY0OfaF2mNBhFJA3oDKaVlqvq8F0EZY4xXMgc1Ycmqo5QkNi4rs6HP3op0ZoC7gf9zH8OB/wVsLgdjTJ0TbuizDXv2RqQ1mvFAX2C1ql4nIsfhTAdjjDF1TtAZnxfdSdbX2eQnOhO/70qErK+dCUxs2HPNRJpo8lS1RESKRKQlsAcbCGCMqUdmbM7mvJwBnHTw2P01m1rNY4ZmW6KpoUgTzUoRaQ38FWeOs8PAcs+iMsaYWjbg0wF0O3J1uaUFuv9wNfKpz4HVA5GOOitdc+YJEXkbZ1nlHO/CMsaY2tXj0JiyJFOqJDGZHnZ/TY2FTTQiMiDcNlX9JPYhGWNM7bP7a7xTVY3mz2G2KXBeDGMxxhjfpBQdJD+pddByUzNVLeU8vLYCMcYYP2UMTAl6f03GwJQwe5lIVNV0Ni7cdlV9LbbhGGOMP/pNuRieeJNVKw6Q36gVKUUHyRiYUnZ/zYzN2exOgE4lMLXH5TYSrRqqajoL1wumgCUaY0y9YffXeKOqprPraisQY4yJR3Z/Tc1FNLxZRFoBdwPnuEX/AaarqvWSGWPqNbu/puYiXY/mGeB74Er3cQh41qugjDEmXvQIsX6N3V8TuUhnBjhJVX8U8PoPIrLGi4CMMSae2P01NRfxXGcicpaqfgggImcCed6FFV8KCwvZvn07+fn5fofS4KWkpNC1a1eSkpL8DsU0EHZ/Tc1FmmiuB55z+2oE2AdM8iyqOLN9+3ZatGhB9+7dERG/w2mwVJXc3Fy2b9/OiSfaWnymdtj9NTUXUR+Nqq5R1b5AOnC6qvZvSHOd5efn065dO0syPhMR2rVrZzVLU6vCrV9Dzhx4OA2yWjv/5szxO9y4VGWNRkR6AZOBU92i9SIyS1U3ehpZnLEkEx/sczB+CHZ/DTlzmL9gGjNaNmV3m650Kipm6oJpjAZIv9KHKONXVTMDDMG5KfNJYBZOs1l/YJGIjFPVpd6HaIwx8Wf+4um8s7Mpd7wE7Q4Vk9sS/nlOU1g8ndGWaMqpqunsLuBqVc1S1bmq+rqq3g1cjXNfjYkzF198MQcOHAj7nrvuuosFCxZEdfxFixZxySWXVPm+YcOGsXLlyrDveeSRRzhy5EhUcRjjtw83FXPJykw29p7OonMfZWPv6VyyMpMPNxX7HVrcqSrRnKSqiyoWqup/sBU244qqUlJSwptvvknr1pVHyASaPn06559/fi1FFpolGlOXnbE2k009J1CQ0g5EKEhpx6aeEzhjbabfocWdqvpovg+z7YdYBlJX3HQTrInxHUT9+sEjj4R/z0MPPcQzzzwDwM9//nNuuukmtmzZwkUXXcTw4cNZsmQJr7/+Oueeey4rV66kffv23HPPPbzwwgscf/zxtG/fnoyMDG655RauvfZaLrnkEsaPH0/37t2ZNGkS8+bNo7CwkFdeeYVTTz2V5cuXc9NNN5GXl0eTJk149tln6dWrV8j48vLyuO6661i3bh2nnXYaeXnHRr9ff/31rFixgry8PMaPH88f/vAHZs6cyc6dOxk+fDjt27dn4cKFQd9nTLzamzo26I2ce1PH+hRR/Koq0RwvIjODlAvQxYN4TBCrVq3i2WefZdmyZagqgwcP5txzz6VNmzZs2LCBZ599lscee6zcPitXruTVV19l9erVFBUVMWDAADIyMoIev3379nzyySc89thjPPjggzz11FOceuqpfPDBBzRq1IgFCxZw22238eqrr4aM8fHHH6dp06bk5OSQk5PDgAHH1sy77777aNu2LcXFxYwYMYKcnBxuvPFGHnroIRYuXEj79u1Dvi89PT0GP0FjYq8gOfgNm6HKG7KqEs20MNvCN2qHoLYAABzeSURBVMDXU1XVPLzw4Ycfcvnll9OsWTMAxo0bx+LFixk7dizdunXjjDPOCLrPpZdeSpMmTQAYMyb0dBnjxjmrQWRkZPDaa86E3AcPHmTSpEl8+eWXiAiFhYVhY/zggw+48cYbAUhPTy+XIObMmcOsWbMoKipi165drFu3LmgCifR9xsSDZk2VH/Iqj4Js1lR9iCa+VTV783O1FYgJTTX0L25p8qnOPhUlu5MFJiYmUlRUBMCdd97J8OHDyc7OZsuWLQwbNqzK4wQbevz111/z4IMPsmLFCtq0acO1114b9D6YSN9nTLwYelUa7z+/luLiY7/3iYnK0KvSfIwqPoUdDCAis0Qk6E9NRJqJyE9F5BpvQjOlzjnnHF5//XWOHDnCDz/8QHZ2NmeffXbYfc466yzmzZtHfn4+hw8fZv78+dU658GDB+nSxWkdnT17dkQxvvDCCwB8/vnn5OQ49/MeOnSIZs2a0apVK7799lveeuutsn1atGjB999/X+X7jIlHpwzuxHkT+9C8rfOHWvO2yZw3sQ+nDO4EOOvYjHwmjfTZaYx8Jo35i+70M1xfVdV09hhwl4icDnwO7AVSgJ5AS5xZnV/wNELDgAEDuPbaaxk0aBDgDAbo378/W7ZsCbnPwIEDGTt2LH379qVbt25kZmbSqlWriM/53//930yaNImHHnqI8847r8r3X3/99Vx33XWkp6fTr1+/slj79u1L//796dOnDz169ODMM88s22fy5MlcdNFFpKamsnDhwpDvMyZenTK4U1liCWSLpZUnkTSxiEhzIBNIxZlMc72qbvA4Nl9kZmZqxfs/1q9fz2mnneZTRNE7fPgwzZs358iRI5xzzjnMmjWrXCd9XVVXPw/TcIx8Jo3+QRZLW53+Cf/+6ed+h+cJEVmlqkHHdkc0qaaqHgYWxTIo473Jkyezbt068vPzmTRpUr1IMsbUBbZYWnmRzt5s6qAXX3zR7xCMaZB6HBpTlmRKNeTF0iJdYdMYY0yEbLG08qqVaEQk+FjaahKRB0TkCxHJEZFsEWkdsO1WEflKRDaIyKiA8gwR+czdNlPcsbQikiwiL7vly0Ske8A+k0TkS/fRYNbPMcb4K9SiaA11sbSIEo2IDBWRdcB693VfEXmsit3CeRdIU9V0YCNwq3vc3sBVQB/gQuAxEUl093kcZ7mCnu7jQrf8Z8B+VT0ZeBi43z1WW5yJPwcDg4C7RaRNDWI2xpiIZAxMIaH4aLmyhrxYWqQ1moeBUUAugKp+CpwT7UlV9d+qWuS+XAp0dZ9fCrykqgWq+jXwFTBIRFKBlqq6RJ1hcs8DlwXsU3pj6T+BEW5tZxTwrqruU9X9OMmtNDkZY4xnwi6W1gBFPBhAVbdVuPM7VnNh/xR42X3eBSfxlNrulhW6zyuWl+6zzY2xSEQOAu0Cy4Ps46nXV+/ggXc2sPNAHp1bN2HaqF5c1r/2p4abPXs2K1eu5NFHH436GBdeeCFLly7lrLPO4l//+lcMozOmfgu6WBrOPTYzNmezOwE6lcDUHpfX+3trIk0020RkKKAi0hi4EbcZLRQRWQBUvpMJblfVue57bgeKOHbTZ7DlEzVMebT7VIx1Mk6zHCeccEKwt0Ts9dU7uPW1z8grdPLwjgN53PraZwCeJhtVRVVJSIh+fEdRURGNGpX/lZg2bRpHjhzhySefrGmIxjR4DfVGzki/laYAN+DUCLYD/dzXIanq+aqaFuRRmmQmAZcA1+ixu0a3A8cHHKYrsNMt7xqkvNw+ItIIaAXsC3OsYLHOUtVMVc3s0KFDuMuq0gPvbChLMqXyCot54J2a3d/60EMPkZaWRlpaGo+4M3tu2bKF0047jV/96lcMGDCAbdu28eyzz3LKKadw7rnn8tFHH5Xtv3fvXn70ox8xcOBABg4cWLYtKyuLyZMnM3LkSCZOnFjpvCNGjKBFixY1it0Y45ixOZvzPh3AbxbdxZSPH+E3i+7ivE8HMGNztt+heSrSGza/A2I2p5mIXAj8DjhXVQNXvnoDeFFEHgI643T6L1fVYhH5XkTOAJYBE4H/C9hnErAEGA+8r6oqIu8AfwwYADASd9CBl3YeyKtWeSQiXSZg165d3H333axatYpWrVoxfPhw+vfvD8DUqVO5+eabOeuss/jmm28YNWoU69evLzv+hx9+WDbTszHGGw31Rs6IEo2IPAdMVdUD7us2wJ9V9adRnvdRIBl41+33WaqqU1R1rYjMAdbhNKndoKql1YPrgdlAE+At9wHwNPA3EfkKpyZzFYCq7hORe4AV7vumq+q+KOONWOfWTdgRJKl0bh39l3ikywQsW7aMYcOGUVor+/GPf8zGjRsBWLBgAevWrSs75qFDh8omtBw7dqwlGWNqQUO9kTPSPpr00iQDoKr7RaR/tCd1hyKH2nYfcF+Q8pVApZmkVTUfuCLEsZ7Bmfiz1kwb1atcHw1Ak6REpo0KvTplVaqzTECwqfoBSkpKWLJkSdCEEmqpAWNMbDXUGzkj7aNJCLwHxb1HxaavCeKy/l3407jT6dK6ibMMaesm/Gnc6TUaCBDpMgGDBw9m0aJF5Obmli3LXGrkyJHlRp+tifV61MaYKjXUGzkjTRZ/Bj4WkX+6r68gSK3DOC7r3yWmI8wiXSYgNTWVrKwshgwZQmpqKgMGDKC42KlZzZw5kxtuuIH09HSKioo455xzeOKJJ6o899lnn80XX3zB4cOH6dq1K08//TSjRo2qcj9jTGUZA1NYsuooJYmNy8oawo2cES0TAGV37Z+HM2z4PVVdV8UudVJ9WiagvrLPw9Rla554k1Ur8slv1IqUooNkDEypFzdyRr1MgIi0VNVDblPZbuDFgG1ta6Nz3Rhj6pOGeCNnVU1nL+Lc67KK8jc7ivu6h0dxGWNMg1Hfb+QMm2hU9RJ33rBzVfWbWorJGGMalBmbs8n4ooQJi5R2hyC3Jbw4TJih2fU/0QC4Nz9mAxm1EI8xxjQ4J60v4fIVGWzsPZaC5LYkF+xj3PI3yNZVfocWE5GOOlsqIgNVdUXVbzXGGFMdF+dksKnnBEoSnZs5C1LasannBC7O8TmwGIk00QwHpojIFuAH3D4adz0ZY4wxNfBt6tiyJFOqJDGZb1PH+hRRbEV6w+ZFOB3/5wFjcAYI1O85E2oiZw48nAZZrZ1/c+b4Esbs2bP59a9/HfX+a9asYciQIfTp04f09HRefvnlqncyxlRbQXLwmQFCldc1VQ1vTsGZuflk4DPg6YAFy0wwOXNg3o1Q6M53dnCb8xog/UrPTuvFMgFNmzbl+eefp2fPnuzcuZOMjAxGjRpF69atwxzFGFNdzZoqP+RVnj6qWdPI7nOMd1V9Kz0HZOIkmYtwZggw4bw3/ViSKVWY55TXgB/LBJxyyin07NkTgM6dO9OxY0f27t1bo+swxlQ29Ko0EhPLJ5XERGXoVZWmd6yTquqj6a2qpwOIyNPAcu9DquMObq9eeQTiYZmA5cuXc/ToUU466aSor8MYE9wpg501IpfM3cThfQU0b5vMkEtPKiuv66pKNIWlT9xlkj0Opx5o1dVpLgtWHiW/lwnYtWsXP/nJT3juuedq1DRnjAntlMGdgiaW+jBjQFWJpq+IHHKfC9DEfV066qylp9HVRSPuKt9HA5DUxCmPkp/LBBw6dIjRo0dz7733liU0Y0ztqC8zBoT981RVE1W1pftooaqNAp5bkgkm/UoYMxNaHQ+I8++YmTUaCODXMgFHjx7l8ssvZ+LEiVxxRdAlf4wxHpqxOZuM9SX85S9FvPSnIv7ylyIy1pfUuaWfbU0ZL6RfGdMRZn4tEzBnzhw++OADcnNzmT17NuAMme7Xr1/Mrs0YE1p9mTEg4mUCGgpbJiD+2edhGop5o37C9hMmlLuZM6G4gK7fvMiYd/7mY2SVhVsmwHp2jTEmTtWXGQMs0RhjTJyqLzMGWKIxxpg4FWpmgLo2Y4AlGmOMiVP1ZcYAG3VmjDFxqr7MGGCJxhhj4lh9mDHAms48MH/zfEb+cyTpz6Uz8p8jmb95vi9x1HSZgK1bt5KRkUG/fv3o06dPlffdGGNqR+mMAbsSBRVhV6KQ9XU28xfd6XdoQVmNJsbmb55P1sdZ5BfnA7Drh11kfZwFwOgeoz07rxfLBKSmpvLxxx+TnJzM4cOHSUtLY+zYsXTu3DkWIRtjojRjczYZX5QwYZHS7hDktoQXhwkzNDsuazVWo4mxGZ/MKEsypfKL85nxyYwaHdePZQIaN25McrK7tGxBASUlJTW6BmNMbJy0voRxyzPY2Hs6i859lI29pzNueQYnrY/P/6NWo4mx3T/srlZ5JPxcJmDbtm2MHj2ar776igceeMBqM8bEgYtzMtjU89iMAQUp7djUcwIX5/gcWAiWaGKsU7NO7PphV9DyaPm5TMDxxx9PTk4OO3fu5LLLLmP8+PEcd9xxUV+LMabm6tqMAdZ0FmNTB0wlJTGlXFlKYgpTB0yN+pixXCZgzZo1rFmzhh07dtCiRYugxwimc+fO9OnTh8WLF1cjcmOMF+rajAGWaGJsdI/RZA3NIrVZKoKQ2iyVrKFZNRoI4NcyAdu3bycvz1lXZ//+/Xz00Uf06tUr6uswxsRGXZsxwJrOPDC6x+iYjjDza5mA9evX89vf/hYRQVW55ZZbOP3002N2XcaY6Ay9Ko33n19LcfGxFox4njHAlgmowJYJiH/2eRgDG5ftjqsZA8ItE2A1GmOMqYNCzRgA8TdrgCUaY4ypR0pnDchPdJrVdiVC1tfO0s9+JRsbDGCMMfXIjM3Z5CeUH32anyDM2JztU0RWozHGmHpldwKcuba40vQ0H/f2r15hicYYY+qR0Z+XMHxlBht7j6UguS3JBfsYt/wN2pSs8i0mSzTGGFOPjFg3lC97/qjS9DQj1iVXsad3rI/GAwfnzePL80aw/rTefHneCA7Om+dLHDVdJgDgm2++YeTIkZx22mn07t270r07xpj4sqXjqKDT02zpOMqniHxKNCJyj4jkiMgaEfm3iHQO2HariHwlIhtEZFRAeYaIfOZumynuXCsikiwiL7vly0Ske8A+k0TkS/cxqTau7eC8eey68y6Kdu4EVYp27mTXnXd5nmxUtcazKxcVFVUqmzhxItOmTWP9+vUsX76cjh071ugcxhhvxeP0NH7VaB5Q1XRV7Qf8C7gLQER6A1cBfYALgcdEJNHd53FgMtDTfVzolv8M2K+qJwMPA/e7x2oL3A0MBgYBd4tIG68vbM/Dj6D55ZcJ0Px89jz8SI2O68cyAevWraOoqIgLLrgAgObNm9O0adMaXYcxxlvxOD2NL4lGVQ8FvGwGlP4ELgVeUtUCVf0a+AoYJCKpQEtVXaLOVAbPA5cF7POc+/yfwAi3tjMKeFdV96nqfuBdjiUnzxTtqjxzc7jySAQuE7B06VL++te/snr1agA2bNjAxIkTWb16NY0bN+buu+/mo48+4t133y03W3PpMgErVqzg1Vdf5ec//3m548+dO5cXX3yx3Hk3btxI69atGTduHP3792fatGllU9oYY+LT0KvSSEwsn1T8np7Gt8EAInIfMBE4CAx3i7sASwPett0tK3SfVywv3WcbgKoWichBoF1geZB9KsYyGae2xAknnBD1NQE0Sk11ms2ClEfLr2UCioqKWLx4MatXr+aEE07gxz/+MbNnz+ZnP/tZ1NdijPFW6WwBQaenyZkD702Hg9uhVVcYcRekX+l5TJ4lGhFZAASbH+F2VZ2rqrcDt4vIrcCvcZq5gs1xr2HKiXKf8oWqs4BZ4Mx1Fuw9kep4803suvOucs1nkpJCx5tvivqYsVwmIFhCCbVMQNeuXenfvz89evQA4LLLLmPp0qWWaIyJc0Gnp8mZw/wF05jRsim723SlU1ExUxdMYzR4nmw8azpT1fNVNS3IY26Ft74I/Mh9vh04PmBbV2CnW941SHm5fUSkEdAK2BfmWJ5qNWYMqfdMp1HnziBCo86dSb1nOq3GjIn6mH4tEzBw4ED279/P3r17AXj//ffp3bt31NdhjPHP/MXTyWrTnF1JjVARdiU1IqtNc+Yvnu75uf0addYz4OVY4Av3+RvAVe5IshNxOv2Xq+ou4HsROcPtf5kIzA3Yp3RE2Xjgfbcf5x1gpIi0cQcBjHTLPNdqzBh6vv8ep61fR8/336tRkoHyywQMHjy4bJmAigKXCTj//PMZMGBA2baZM2eycuVK0tPT6d27d5VLBAAkJiby4IMPMmLECE4//XRUlV/84hc1uhZjjD9mJBeTn1D+Kz8/IYEZyd73u/qyTICIvAr0AkqArcAUVd3hbrsd+ClQBNykqm+55ZnAbKAJ8BbwG1VVEUkB/gb0x6nJXKWqm919fgrc5p72PlV9tqrYbJmA+GefhzHVlz47jaHrSoJOTZNz7ec1Pn7cLROgqj8Ks+0+4L4g5SuBSsMmVDUfuCLEsZ4Bnok+UmOMqR9Gb0hh+PLTKk9Nk7je83PbFDTGGNMAjPgsky97Xlp5aprPKnabx55NQWOMMQ3AlvYjgk9N036E5+e2RGOMMQ2An1PTWKIxxpgGwM+paSzRGGNMA+Dn1DSWaDywcdlunrvtI/4y5X2eu+0jNi7b7UscsVgm4He/+13ZZJ4vv/xyjCIzxtS2UwZ34ryJfWje1umnad42mfMm9jk2Nc3DaZDV2vk3Z05Mz22jzmJs47LdLHzhC4qOOlP2H95XwMIXnPtRK00JEUOqiqqSkBD93w5FRUU0anTsV2L+/Pl88sknrFmzhoKCAs4991wuuugiWrZsGYuQjTG1zK+paaxGE2NL5m4qSzKlio6WsGTuphod169lAs4991waNWpEs2bN6Nu3L2+//XaNrsMYE19qY2oaSzQxdnhfQbXKI+HXMgF9+/blrbfe4siRI3z33XcsXLiQbdu2YYypP2pjahprOoux5m2TgyaV0nbRaPi1TMDIkSNZsWIFQ4cOpUOHDgwZMqRc05oxpu7b3SiRM9cWB5maJrHqnSNk3xoxNuTSk8r10QA0apzAkEtPivqYfi0TAHD77bdz++23AzBhwgR69uwZ8r3GmLqnNqamsaazGDtlcCeGX3NquZEdw685tUYDAfxaJqC4uJjc3FwAcnJyyMnJYeTIkVFfhzEm/oz4LJNNPSdQkNIORAKmpgk6P2ZUrEbjgaAjO2ogcJkAoGyZgC1btpR7X+AyAampqQwYMKBs6eWZM2dyww03kJ6eTlFREeecc06VSwUUFhaWJbSWLVvy97//3ZrOjKlnamNqGl+WCYhntkxA/LPPw5jY+csv34NgTe6q3PBk5Mkm3DIB1nRmjDENWG1MTWOJxhhjGrDamJrGGtwjpKohR3SZ2mNNvcbEVml/8pK5mzi8r4DmbZMZculJMe1ntkQTgZSUFHJzc2nXrp0lGx+pKrm5uaSkpPgdijH1SqwHMFVkiSYCXbt2Zfv27ezdu9fvUBq8lJQUunbt6ncYxphqsEQTgaSkJE488US/wzDGmDrJBgMYY4zxlCUaY4wxnrJEY4wxxlM2M0AFIrIX2Op3HDXUHvjO7yBqkV1v/dfQrrkuXm83Ve0QbIMlmnpIRFaGmgqiPrLrrf8a2jXXt+u1pjNjjDGeskRjjDHGU5Zo6qdZfgdQy+x667+Gds316nqtj8YYY4ynrEZjjDHGU5ZojDHGeMoSTR0gIseLyEIRWS8ia0VkqlveVkTeFZEv3X/buOXt3PcfFpFHKxyrsYjMEpGNIvKFiPzIj2sKJ8bXe7WIfCYiOSLytoi09+Oawoniei8QkVXuda0SkfMCjpXhln8lIjMlTqcbj9U1i0hTEZnv/i6vFZH/8fO6QonlZxxwzDdE5PPavpaoqKo94vwBpAID3OctgI1Ab+B/gd+75b8H7nefNwPOAqYAj1Y41h+Ae93nCUB7v6/Pq+vFmTR2T+k1uvtn+X19Mbje/kBn93kasCPgWMuBIYAAbwEX+X19Xl4z0BQY7j5vDCyOx2uO5Wfslo0DXgQ+9/vaIrp+vwOwRxQfGswFLgA2AKluWSqwocL7rg2SaLYBzfy+htq4XiAJ2At0c794nwAm+309sbpet1yAXCDZfc8XAduuBp70+3q8vOYg22YAv/D7ery8XqA58KGbqOpEorGmszpGRLrj/LWzDDhOVXcBuP92rGLf1u7Te0TkExF5RUSO8zDcGqvJ9apqIXA98BmwE+c/5tMehltjUVzvj4DVqloAdAG2B2zb7pbFtRpec+BxWgNjgPe8jLemYnC99wB/Bo54HmyMWKKpQ0SkOfAqcJOqHoriEI2ArsBHqjoAWAI8GMMQY6qm1ysiSTiJpj/QGcgBbo1pkDFU3esVkT7A/cAvS4uCvC2u71+IwTWXljcC/gHMVNXNXsQaCzW9XhHpB5ysqtmeBhpjlmjqCPdL81XgBVV9zS3+VkRS3e2pOP0R4eTi/BVU+kv6CjDAg3BrLEbX2w9AVTep0+YwBxjqUcg1Ut3rFZGuOJ/jRFXd5BZvx/lDolRXnJpcXIrRNZeaBXypqo94H3l0YnS9Q4AMEdmC03x2iogsqp0riJ4lmjrAHTn0NLBeVR8K2PQGMMl9Pgmn3Tck98t2HjDMLRoBrItpsDEQq+sFdgC9RaR0RtkLgPWxjDUWqnu9bhPRfOBWVf2o9M1u08v3InKGe8yJVP0z8kWsrtnddi/QCrjJ67ijFcPP+HFV7ayq3XEGwGxU1WHeX0EN+d1JZI+qHzi/UIrT9LPGfVwMtMNpj/7S/bdtwD5bgH3AYZy/dHu75d2AD9xjvQec4Pf1eXy9U3CSSw5Okm3n9/XV9HqBO4AfAt67BujobssEPgc2AY/izv4Rb49YXTNOrU3dz7i0/Od+X5+Xn3HAMbtTRwYD2BQ0xhhjPGVNZ8YYYzxlicYYY4ynLNEYY4zxlCUaY4wxnrJEY4wxxlOWaIypBnem6DXuY7eI7Ah4/bFH5+wvIk95cewIzr2gdEZhY6Jlw5uNiZKIZAGHVdXTaXxE5BWcGbc/9ej4jVS1KMS2SUBXVb3Pi3ObhsFqNMbEiIgcdv8dJiL/EZE54qz78z8ico2ILHfXFznJfV8HEXlVRFa4jzODHLMFkK6qn4pIgrtuSQd3W4I46860D3UsERkkIh+LyGr3315u+bXupKrzgH+LSKqIfODWzD4XkbPdEN7AmQXamKhZojHGG32BqcDpwE+AU1R1EPAU8Bv3PTOAh1V1IM4MvcGax0rv9EdVS4C/A9e4284HPlXV78Ic6wvgHFXtD9wF/DHg2EOASap6HjABeEdV+7mxr3HPuR9IFpF2NfhZmAaukd8BGFNPrVB3+ncR2QT82y3/DBjuPj8fZy620n1aikgLVf0+4DipOGvqlHoGZz6sR4CfAs+GOxbOHGDPiUhPnClQkgKO9a6q7iuNF3jGnfjxdVVdE/C+PTizX+dW4/qNKWOJxhhvBK6VUhLwuoRj/+8SgCGqmhfmOHlASukLVd0mIt+Ks7TvYI7VboIeS0T+D1ioqpe766AsCtj8Q8BxPxCRc4DRwN9E5AFVfd7dnOLGYUxUrOnMGP/8G/h16Qt3rZGK1gMnVyh7CqcJbY6qFldxrFY4s1iDswJpUCLSDdijqn/FmWV4gFsuQCecSUuNiYolGmP8cyOQKSI5IrIOZ6bpclT1C6CV2wxW6g2c5XyfDSgLdaz/Bf4kIh8BiWFiGQasEZHVOH08M9zyDGBpqFFpxkTChjcbE+dE5Gbge1V9yn2didPxf3b4PWNy7hnAG6oa18sjm/hmNRpj4t/juH08IvJ7nFUaa2tJ6s8tyZiashqNMcYYT1mNxhhjjKcs0RhjjPGUJRpjjDGeskRjjDHGU5ZojDHGeOr/A9aKy1jNrSkpAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"t_ext = np.linspace(min(steel_year),2025)\n",
"#Aluminum\n",
"Z_al_train=np.block([[al_year_train**0]]).T\n",
"Z_al_test=np.block([[al_year_test**0]]).T\n",
"Z_al_ext=np.block([[t_ext**0]]).T\n",
"max_N=10\n",
"SSE_train=np.zeros(max_N)\n",
"SSE_test=np.zeros(max_N)\n",
"plt.figure()\n",
"plt.plot(aluminum_year,al_price,'b-',label='original data')\n",
"for i in range(1,max_N):\n",
" Z_al_train=np.hstack((Z_al_train,al_year_train.reshape(-1,1)**i))\n",
" Z_al_test=np.hstack((Z_al_test,al_year_test.reshape(-1,1)**i))\n",
" Z_al_ext=np.hstack((Z_al_ext,t_ext.reshape(-1,1)**i))\n",
" a_al = np.linalg.solve(Z_al_train.T@Z_al_train,Z_al_train.T@al_price_train)\n",
" SSE_train[i]=np.sum((al_price_train-Z_al_train@a_al)**2)/len(al_price_train)\n",
" SSE_test[i]=np.sum((al_price_test-Z_al_test@a_al)**2)/len(al_price_test)\n",
" if i == 1 or i == 2 or i == 3 or i == 6 or i == 9: \n",
" plt.plot(t_ext,Z_al_ext@a_al,'o',label='order {:d}'.format(i))\n",
" #plt.plot(t_4,Z_al_train@t_4)\n",
" plt.title('Aluminum Price over time')\n",
" plt.xlabel('Time (years)')\n",
" plt.ylabel('Price (Dollars/tonne)')\n",
" plt.legend(loc='best')\n",
"\n",
" \n",
"plt.figure()\n",
"plt.xlabel('Order')\n",
"plt.ylabel('Error')\n",
"plt.semilogy(np.arange(1,max_N),SSE_train[1:],'o-',label='training error')\n",
"plt.semilogy(np.arange(1,max_N),SSE_test[1:],'*-',label='testing error');\n",
"plt.title('Error in Aluminum Price vs. Order')\n",
"plt.legend(loc = 'center left', bbox_to_anchor = (1, 0.5));\n",
"\n",
"#Steel\n",
"Z_st_train=np.block([[st_year_train**0]]).T\n",
"Z_st_test=np.block([[st_year_test**0]]).T\n",
"Z_st_ext=np.block([[t_ext**0]]).T\n",
"max_N=11\n",
"SSE_train=np.zeros(max_N)\n",
"SSE_test=np.zeros(max_N)\n",
"plt.figure()\n",
"plt.plot(steel_year,steel_price,'b-',label='original data')\n",
"for i in range(1,max_N):\n",
" Z_st_train=np.hstack((Z_st_train,st_year_train.reshape(-1,1)**i))\n",
" Z_st_test=np.hstack((Z_st_test,st_year_test.reshape(-1,1)**i))\n",
" Z_st_ext=np.hstack((Z_st_ext,t_ext.reshape(-1,1)**i))\n",
" a_st = np.linalg.solve(Z_st_train.T@Z_st_train,Z_st_train.T@st_price_train)\n",
" SSE_train[i]=np.sum((st_price_train-Z_st_train@a_st)**2)/len(st_price_train)\n",
" SSE_test[i]=np.sum((st_year_test-Z_st_test@a_st)**2)/len(st_year_test)\n",
" if i == 1 or i == 2 or i == 3 or i == 6 or i == 9:\n",
" plt.plot(t_ext,Z_st_ext@a_st,'o',label='order {:d}'.format(i))\n",
" #plt.plot(t_4,Z_al_train@t_4)\n",
" plt.title('Steel Price over time')\n",
" plt.xlabel('Time (years)')\n",
" plt.ylabel('Price (Dollars/tonne)')\n",
" plt.legend(loc='best')\n",
" if t_ext[i] == 2025:\n",
" print(Z_st_ext@a_st)\n",
" \n",
" \n",
"plt.figure()\n",
"plt.xlabel('Order')\n",
"plt.ylabel('Error')\n",
"plt.semilogy(np.arange(1,max_N),SSE_train[1:],'o-',label='training error')\n",
"plt.semilogy(np.arange(1,max_N),SSE_test[1:],'*-',label='testing error');\n",
"plt.title('Error in Steel Price vs. Order')\n",
"plt.legend(loc = 'center left', bbox_to_anchor = (1, 0.5));"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# References\n",
"\n",
"1. <https://en.wikipedia.org/wiki/Direct_stiffness_method>\n",
"\n",
"2. Aluminum and steel price history on <https://tradingeconomics.com>"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}