Files
FYS-STK4155/doc/Programs/JupyterFiles/Design_matrix.ipynb
T
2023-05-03 11:48:50 -04:00

272 lines
6.4 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[1. 0. 0. ... 0. 0. 0. ]\n",
" [1. 0. 0.05 ... 0. 0. 0. ]\n",
" [1. 0. 0.1 ... 0. 0. 0. ]\n",
" ...\n",
" [1. 0.95 0.85 ... 0.61945344 0.55424781 0.49590594]\n",
" [1. 0.95 0.9 ... 0.69447375 0.6579225 0.623295 ]\n",
" [1. 0.95 0.95 ... 0.77378094 0.77378094 0.77378094]]\n"
]
},
{
"data": {
"text/plain": [
"400"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\"\n",
"Importations\n",
"\"\"\"\n",
"\n",
"from mpl_toolkits.mplot3d import Axes3D\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib import cm\n",
"from matplotlib.ticker import LinearLocator, FormatStrFormatter\n",
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"from random import random, seed\n",
"\n",
"#plt.close()\n",
"#fig = plt.figure()\n",
"#ax = fig.gca(projection=\"3d\")\n",
"\n",
"# Make data\n",
"\n",
"x0 = np.arange(0, 1, 0.05)\n",
"y0 = np.arange(0, 1, 0.05)\n",
"\n",
"x, y = np.meshgrid(x0,y0)\n",
"\n",
"def FrankeFunction(x,y):\n",
"\tterm1 = 0.75*np.exp(-(0.25*(9*x-2)**2) - 0.25*((9*y-2)**2))\n",
"\tterm2 = 0.75*np.exp(-((9*x+1)**2)/49.0 - 0.1*(9*y+1))\n",
"\tterm3 = 0.5*np.exp(-(9*x-7)**2/4.0 - 0.25*((9*y-3)**2))\n",
"\tterm4 = -0.2*np.exp(-(9*x-4)**2 - (9*y-7)**2)\n",
"\n",
"\treturn term1 + term2 + term3 + term4\n",
"\n",
"z = FrankeFunction(x, y)\n",
"\n",
"matrix = np.zeros((len(y0)**2,21))\n",
"\n",
"# First column\n",
"\n",
"matrix[:,0] = 1\n",
"\n",
"# Second column\n",
"\n",
"X0 = []\n",
"for k in range(len(x0)):\n",
"\tfor i in range(len(x0)) :\n",
"\t\txk = x0[k]\n",
"\t\tX0.append(xk)\n",
"\n",
"matrix[:,1] = X0\n",
"\n",
"# Third column\n",
"\n",
"Y0 = []\n",
"for k in range(len(y0)) :\n",
"\tfor i in range(len(y0)) :\n",
"\t\tyk = x0[i]\n",
"\t\tY0.append(yk)\n",
"\n",
"matrix[:,2] = Y0\n",
"\n",
"# Fourth column\n",
"\n",
"X02 = []\n",
"for k in range(len(x0)**2):\n",
"\tX02.append(X0[k]**2)\n",
"\n",
"matrix[:,3] = X02\n",
"\n",
"# Fifth column\n",
"\n",
"Y02 = []\n",
"for k in range(len(y0)**2):\n",
"\tY02.append(Y0[k]**2)\n",
"\t\n",
"matrix[:,4] = Y02\n",
"\n",
"# sixth column\n",
"\n",
"X0Y0 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX0Y0.append(X0[k]*Y0[k])\n",
"\t\n",
"matrix[:,5] = X0Y0\n",
"\n",
"#7th column\n",
"\n",
"X03 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX03.append(X0[k]*X0[k]*X0[k])\n",
"\n",
"matrix[:,6] = X03\n",
"\n",
"\n",
"#8th column\n",
"\n",
"Y03 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tY03.append(Y0[k]*Y0[k]*Y0[k])\n",
"\n",
"matrix[:,7] = Y03\n",
"\n",
"#9th column\n",
"\n",
"X02Y0 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX02Y0.append(X0[k]*X0[k]*Y0[k]) \n",
"\t\n",
"matrix[:,8] = X02Y0\n",
"\t\n",
"#10th column \t\n",
" \n",
"X0Y02 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX0Y02.append(X0[k]*Y0[k]*Y0[k])\n",
"\t\n",
"matrix[:,9] = X0Y02\n",
"\n",
"#11th column\n",
"\n",
"X04 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX04.append(X0[k]*X0[k]*X0[k]*X0[k])\n",
"\t\n",
"matrix[:,10] = X04\n",
"\n",
"#12th column\n",
"\n",
"Y04 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tY04.append(Y0[k]*Y0[k]*Y0[k]*Y0[k])\n",
"\t\n",
"matrix[:,11] = Y04\n",
"\n",
"#13th column\n",
"\n",
"X03Y0 =[]\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX03Y0.append(X0[k]*X0[k]*X0[k]*Y0[k])\n",
"\t\n",
"matrix[:,12] = X03Y0\n",
"\n",
"#14th column\n",
"\n",
"X02Y02 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX02Y02.append(X0[k]*X0[k]*Y0[k]*Y0[k])\n",
"\t\n",
"matrix[:,13] = X02Y02\n",
"\n",
"#15th column\n",
"\n",
"X0Y03 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX0Y03.append(X0[k]*Y0[k]*Y0[k]*Y0[k])\n",
"\t\n",
"matrix[:,14] = X0Y03\n",
"\n",
"#16th column\n",
"\n",
"X05 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX05.append(X0[k]*X0[k]*X0[k]*X0[k]*X0[k])\n",
"\t\n",
"matrix[:,15] = X05\n",
"\n",
"#17th column\n",
"\n",
"Y05 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tY05.append(Y0[k]*Y0[k]*Y0[k]*Y0[k]*Y0[k])\n",
"\t\n",
"matrix[:,16] = Y05\n",
"\n",
"#18th column\n",
"\n",
"X04Y0 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX04Y0.append(X0[k]*X0[k]*X0[k]*X0[k]*Y0[k])\n",
"\t\n",
"matrix[:,17] = X04Y0\n",
"\n",
"#19th column\n",
"\n",
"X03Y02 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX03Y02.append(X0[k]*X0[k]*X0[k]*Y0[k]*Y0[k])\n",
"\t\n",
"matrix[:,18] = X03Y02\n",
"\n",
"#20th column\n",
"\n",
"X02Y03 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX02Y03.append(X0[k]*X0[k]*Y0[k]*Y0[k]*Y0[k])\n",
"\t\n",
"matrix[:,19] = X02Y03\n",
"\n",
"#21th column\n",
"\n",
"X0Y04 = []\n",
"for k in range(len(x0)*len(y0)):\n",
"\tX0Y04.append(X0[k]*Y0[k]*Y0[k]*Y0[k]*Y0[k])\n",
"\t\n",
"matrix[:,20] = X0Y04\n",
"\n",
"print(matrix)\n",
"len(matrix)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.9.12"
}
},
"nbformat": 4,
"nbformat_minor": 4
}