add for hw6
This commit is contained in:
1 parent
e24a5256f6
commit
5b96f91e9a
6 files changed
+544
No files matched your search
Binary file not shown.
@@ -0,0 +1,77 @@
|
|||||||
|
-333.06 -220.39 -328.00 -216.00
|
||||||
|
-268.81 -220.01 -264.00 -216.00
|
||||||
|
-201.18 -222.44 -200.00 -216.00
|
||||||
|
-137.73 -221.33 -136.00 -216.00
|
||||||
|
-74.65 -220.29 -72.00 -216.00
|
||||||
|
-8.65 -221.24 -8.00 -216.00
|
||||||
|
61.08 -220.36 56.00 -216.00
|
||||||
|
123.90 -222.22 120.00 -216.00
|
||||||
|
189.61 -219.71 184.00 -216.00
|
||||||
|
255.60 -220.79 248.00 -216.00
|
||||||
|
319.09 -220.34 312.00 -216.00
|
||||||
|
-334.23 -156.14 -328.00 -152.00
|
||||||
|
-269.49 -156.24 -264.00 -152.00
|
||||||
|
-202.55 -156.38 -200.00 -152.00
|
||||||
|
-136.27 -155.10 -136.00 -152.00
|
||||||
|
-72.75 -155.60 -72.00 -152.00
|
||||||
|
-8.07 -156.91 -8.00 -152.00
|
||||||
|
56.80 -157.59 56.00 -152.00
|
||||||
|
123.14 -154.52 120.00 -152.00
|
||||||
|
188.80 -156.43 184.00 -152.00
|
||||||
|
255.52 -157.06 248.00 -152.00
|
||||||
|
318.37 -153.50 312.00 -152.00
|
||||||
|
-331.80 -91.39 -328.00 -88.00
|
||||||
|
-267.10 -90.73 -264.00 -88.00
|
||||||
|
-203.62 -90.89 -200.00 -88.00
|
||||||
|
-138.08 -90.93 -136.00 -88.00
|
||||||
|
-72.88 -91.07 -72.00 -88.00
|
||||||
|
-7.15 -89.22 -8.00 -88.00
|
||||||
|
56.35 -90.40 56.00 -88.00
|
||||||
|
121.80 -90.85 120.00 -88.00
|
||||||
|
189.38 -89.41 184.00 -88.00
|
||||||
|
254.41 -89.43 248.00 -88.00
|
||||||
|
318.71 -90.93 312.00 -88.00
|
||||||
|
-333.85 -24.81 -328.00 -24.00
|
||||||
|
-266.97 -25.27 -264.00 -24.00
|
||||||
|
-203.46 -24.51 -200.00 -24.00
|
||||||
|
-137.30 -23.63 -136.00 -24.00
|
||||||
|
-72.40 -25.20 -72.00 -24.00
|
||||||
|
-7.57 -24.63 -8.00 -24.00
|
||||||
|
58.75 -23.58 56.00 -24.00
|
||||||
|
123.92 -25.26 120.00 -24.00
|
||||||
|
189.44 -25.20 184.00 -24.00
|
||||||
|
253.65 -23.86 248.00 -24.00
|
||||||
|
318.15 -27.06 312.00 -24.00
|
||||||
|
-332.24 40.40 -328.00 40.00
|
||||||
|
-268.92 39.39 -264.00 40.00
|
||||||
|
-201.77 41.00 -200.00 40.00
|
||||||
|
-137.10 41.40 -136.00 40.00
|
||||||
|
-73.77 40.30 -72.00 40.00
|
||||||
|
-7.55 41.65 -8.00 40.00
|
||||||
|
58.52 41.70 56.00 40.00
|
||||||
|
82.65 41.36 120.00 40.00
|
||||||
|
187.12 39.96 184.00 40.00
|
||||||
|
254.18 40.76 248.00 40.00
|
||||||
|
319.43 41.08 312.00 40.00
|
||||||
|
-331.61 105.96 -328.00 104.00
|
||||||
|
-269.80 104.42 -264.00 104.00
|
||||||
|
-203.85 104.12 -200.00 104.00
|
||||||
|
-137.30 104.82 -136.00 104.00
|
||||||
|
-72.77 105.36 -72.00 104.00
|
||||||
|
-6.64 105.47 -8.00 104.00
|
||||||
|
57.49 104.24 56.00 104.00
|
||||||
|
122.58 55.73 120.00 104.00
|
||||||
|
187.86 106.28 184.00 104.00
|
||||||
|
253.46 105.51 248.00 104.00
|
||||||
|
317.65 105.78 312.00 104.00
|
||||||
|
-333.60 172.06 -328.00 168.00
|
||||||
|
-269.61 169.94 -264.00 168.00
|
||||||
|
-201.80 171.93 -200.00 168.00
|
||||||
|
-137.31 170.87 -136.00 168.00
|
||||||
|
-73.41 171.33 -72.00 168.00
|
||||||
|
-7.66 171.47 -8.00 168.00
|
||||||
|
58.42 171.91 56.00 168.00
|
||||||
|
124.60 170.74 120.00 168.00
|
||||||
|
187.72 171.27 184.00 168.00
|
||||||
|
254.49 170.64 248.00 168.00
|
||||||
|
320.85 172.43 312.00 168.00
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
-333.92 -220.42 -328.00 -216.00
|
||||||
|
-267.80 -221.01 -264.00 -216.00
|
||||||
|
-203.19 -220.43 -200.00 -216.00
|
||||||
|
-136.88 -220.72 -136.00 -216.00
|
||||||
|
-72.58 -221.34 -72.00 -216.00
|
||||||
|
-7.29 -220.29 -8.00 -216.00
|
||||||
|
58.30 -221.42 56.00 -216.00
|
||||||
|
123.97 -221.60 120.00 -216.00
|
||||||
|
188.20 -219.84 184.00 -216.00
|
||||||
|
254.16 -220.61 248.00 -216.00
|
||||||
|
320.23 -221.74 312.00 -216.00
|
||||||
|
-333.43 -155.66 -328.00 -152.00
|
||||||
|
-267.69 -155.50 -264.00 -152.00
|
||||||
|
-202.65 -154.70 -200.00 -152.00
|
||||||
|
-138.03 -155.58 -136.00 -152.00
|
||||||
|
-71.64 -154.75 -72.00 -152.00
|
||||||
|
-5.65 -155.84 -8.00 -152.00
|
||||||
|
59.21 -156.09 56.00 -152.00
|
||||||
|
124.26 -155.30 120.00 -152.00
|
||||||
|
189.54 -155.48 184.00 -152.00
|
||||||
|
254.03 -155.23 248.00 -152.00
|
||||||
|
319.63 -155.95 312.00 -152.00
|
||||||
|
-333.83 -90.89 -328.00 -88.00
|
||||||
|
-266.48 -91.15 -264.00 -88.00
|
||||||
|
-203.11 -90.40 -200.00 -88.00
|
||||||
|
-138.18 -90.63 -136.00 -88.00
|
||||||
|
-72.35 -90.04 -72.00 -88.00
|
||||||
|
-7.05 -91.08 -8.00 -88.00
|
||||||
|
58.89 -91.18 56.00 -88.00
|
||||||
|
124.02 -90.17 120.00 -88.00
|
||||||
|
188.66 -90.51 184.00 -88.00
|
||||||
|
253.95 -89.78 248.00 -88.00
|
||||||
|
319.12 -90.33 312.00 -88.00
|
||||||
|
-333.22 -25.30 -328.00 -24.00
|
||||||
|
-268.61 -25.13 -264.00 -24.00
|
||||||
|
-202.97 -24.83 -200.00 -24.00
|
||||||
|
-138.00 -25.49 -136.00 -24.00
|
||||||
|
-72.83 -23.98 -72.00 -24.00
|
||||||
|
-6.36 -24.35 -8.00 -24.00
|
||||||
|
58.35 -24.22 56.00 -24.00
|
||||||
|
123.38 -25.21 120.00 -24.00
|
||||||
|
188.63 -25.56 184.00 -24.00
|
||||||
|
254.33 -24.33 248.00 -24.00
|
||||||
|
319.72 -24.56 312.00 -24.00
|
||||||
|
-333.58 39.87 -328.00 40.00
|
||||||
|
-268.09 39.51 -264.00 40.00
|
||||||
|
-203.26 39.87 -200.00 40.00
|
||||||
|
-137.00 39.82 -136.00 40.00
|
||||||
|
-72.14 40.48 -72.00 40.00
|
||||||
|
-6.93 40.62 -8.00 40.00
|
||||||
|
58.02 40.71 56.00 40.00
|
||||||
|
122.45 41.30 120.00 40.00
|
||||||
|
189.25 40.88 184.00 40.00
|
||||||
|
255.11 40.80 248.00 40.00
|
||||||
|
319.10 40.27 312.00 40.00
|
||||||
|
-332.81 105.72 -328.00 104.00
|
||||||
|
-269.01 104.97 -264.00 104.00
|
||||||
|
-204.11 104.40 -200.00 104.00
|
||||||
|
-137.69 104.82 -136.00 104.00
|
||||||
|
-72.58 106.20 -72.00 104.00
|
||||||
|
-6.79 105.80 -8.00 104.00
|
||||||
|
58.73 106.05 56.00 104.00
|
||||||
|
123.75 104.96 120.00 104.00
|
||||||
|
188.88 106.36 184.00 104.00
|
||||||
|
253.82 107.05 248.00 104.00
|
||||||
|
320.11 106.37 312.00 104.00
|
||||||
|
-332.42 170.86 -328.00 168.00
|
||||||
|
-268.57 169.90 -264.00 168.00
|
||||||
|
-203.35 169.37 -200.00 168.00
|
||||||
|
-137.32 170.03 -136.00 168.00
|
||||||
|
-72.86 170.92 -72.00 168.00
|
||||||
|
-7.90 170.49 -8.00 168.00
|
||||||
|
58.17 169.75 56.00 168.00
|
||||||
|
124.71 170.73 120.00 168.00
|
||||||
|
188.97 172.07 184.00 168.00
|
||||||
|
254.52 171.87 248.00 168.00
|
||||||
|
319.92 171.56 312.00 168.00
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
-333.06 -220.39 -328.00 -216.00
|
||||||
|
-268.81 -220.01 -264.00 -216.00
|
||||||
|
-201.18 -222.44 -200.00 -216.00
|
||||||
|
-137.73 -221.33 -136.00 -216.00
|
||||||
|
-74.65 -220.29 -72.00 -216.00
|
||||||
|
-8.65 -221.24 -8.00 -216.00
|
||||||
|
61.08 -220.36 56.00 -216.00
|
||||||
|
123.90 -222.22 120.00 -216.00
|
||||||
|
189.61 -219.71 184.00 -216.00
|
||||||
|
255.60 -220.79 248.00 -216.00
|
||||||
|
319.09 -220.34 312.00 -216.00
|
||||||
|
-334.23 -156.14 -328.00 -152.00
|
||||||
|
-269.49 -156.24 -264.00 -152.00
|
||||||
|
-202.55 -156.38 -200.00 -152.00
|
||||||
|
-136.27 -155.10 -136.00 -152.00
|
||||||
|
-72.75 -155.60 -72.00 -152.00
|
||||||
|
-8.07 -156.91 -8.00 -152.00
|
||||||
|
56.80 -157.59 56.00 -152.00
|
||||||
|
123.14 -154.52 120.00 -152.00
|
||||||
|
188.80 -156.43 184.00 -152.00
|
||||||
|
255.52 -157.06 248.00 -152.00
|
||||||
|
318.37 -153.50 312.00 -152.00
|
||||||
|
-331.80 -91.39 -328.00 -88.00
|
||||||
|
-267.10 -90.73 -264.00 -88.00
|
||||||
|
-203.62 -90.89 -200.00 -88.00
|
||||||
|
-138.08 -90.93 -136.00 -88.00
|
||||||
|
-72.88 -91.07 -72.00 -88.00
|
||||||
|
-7.15 -89.22 -8.00 -88.00
|
||||||
|
56.35 -90.40 56.00 -88.00
|
||||||
|
121.80 -90.85 120.00 -88.00
|
||||||
|
189.38 -89.41 184.00 -88.00
|
||||||
|
254.41 -89.43 248.00 -88.00
|
||||||
|
318.71 -90.93 312.00 -88.00
|
||||||
|
-333.85 -24.81 -328.00 -24.00
|
||||||
|
-266.97 -25.27 -264.00 -24.00
|
||||||
|
-203.46 -24.51 -200.00 -24.00
|
||||||
|
-137.30 -23.63 -136.00 -24.00
|
||||||
|
-72.40 -25.20 -72.00 -24.00
|
||||||
|
-7.57 -24.63 -8.00 -24.00
|
||||||
|
58.75 -23.58 56.00 -24.00
|
||||||
|
123.92 -25.26 120.00 -24.00
|
||||||
|
189.44 -25.20 184.00 -24.00
|
||||||
|
253.65 -23.86 248.00 -24.00
|
||||||
|
318.15 -27.06 312.00 -24.00
|
||||||
|
-332.24 40.40 -328.00 40.00
|
||||||
|
-268.92 39.39 -264.00 40.00
|
||||||
|
-201.77 41.00 -200.00 40.00
|
||||||
|
-137.10 41.40 -136.00 40.00
|
||||||
|
-73.77 40.30 -72.00 40.00
|
||||||
|
-7.55 41.65 -8.00 40.00
|
||||||
|
58.52 41.70 56.00 40.00
|
||||||
|
122.65 41.36 120.00 40.00
|
||||||
|
187.12 39.96 184.00 40.00
|
||||||
|
254.18 40.76 248.00 40.00
|
||||||
|
319.43 41.08 312.00 40.00
|
||||||
|
-331.61 105.96 -328.00 104.00
|
||||||
|
-269.80 104.42 -264.00 104.00
|
||||||
|
-203.85 104.12 -200.00 104.00
|
||||||
|
-137.30 104.82 -136.00 104.00
|
||||||
|
-72.77 105.36 -72.00 104.00
|
||||||
|
-6.64 105.47 -8.00 104.00
|
||||||
|
57.49 104.24 56.00 104.00
|
||||||
|
122.58 105.73 120.00 104.00
|
||||||
|
187.86 106.28 184.00 104.00
|
||||||
|
253.46 105.51 248.00 104.00
|
||||||
|
317.65 105.78 312.00 104.00
|
||||||
|
-333.60 172.06 -328.00 168.00
|
||||||
|
-269.61 169.94 -264.00 168.00
|
||||||
|
-201.80 171.93 -200.00 168.00
|
||||||
|
-137.31 170.87 -136.00 168.00
|
||||||
|
-73.41 171.33 -72.00 168.00
|
||||||
|
-7.66 171.47 -8.00 168.00
|
||||||
|
58.42 171.91 56.00 168.00
|
||||||
|
124.60 170.74 120.00 168.00
|
||||||
|
187.72 171.27 184.00 168.00
|
||||||
|
254.49 170.64 248.00 168.00
|
||||||
|
320.85 172.43 312.00 168.00
|
||||||
@@ -0,0 +1,313 @@
|
|||||||
|
{
|
||||||
|
"cells": [
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 62,
|
||||||
|
"id": "04960c5e",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"import numpy as np\n",
|
||||||
|
"import matplotlib.pyplot as plt\n",
|
||||||
|
"\n",
|
||||||
|
"from matplotlib import gridspec\n",
|
||||||
|
"\n",
|
||||||
|
"import matplotlib.font_manager as fm\n",
|
||||||
|
"fm.fontManager.addfont(\"D2Coding.ttc\")\n",
|
||||||
|
"\n",
|
||||||
|
"plt.rcParams[\"font.family\"] = \"D2Coding\"\n",
|
||||||
|
"plt.rcParams[\"text.usetex\"] = False\n",
|
||||||
|
"plt.rcParams[\"mathtext.fontset\"] = \"stix\""
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"id": "c69a7858",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"# Linear Data Fitting Report\n",
|
||||||
|
"\n",
|
||||||
|
"For given $N$ data observation-points $\\set{(x_i,\\,y_i,\\,x_i',\\, y_i', )}_{i=1}^{i=N}\\quad(i\\in 1\\dots N)$, and a linear mapping model: $$\\begin{align*}\n",
|
||||||
|
"x' &= a_1x + a_2y + a_3\\\\\n",
|
||||||
|
"y' &= a_4x + a_5y + a_6\n",
|
||||||
|
"\\end{align*}$$\n",
|
||||||
|
"\n",
|
||||||
|
"find the \"best\" (in the least-squares sense) set of parameters $\\mathbf{a} = (a_1, \\cdots, a_6)$ that fits the given data."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"id": "ec8270f9",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"## Least Squares Method\n",
|
||||||
|
"\n",
|
||||||
|
"We can rewrite the linear mapping model in a matrix form:\n",
|
||||||
|
"\n",
|
||||||
|
"$$\\begin{bmatrix}\n",
|
||||||
|
"x' & y'\n",
|
||||||
|
"\\end{bmatrix} =\n",
|
||||||
|
"\\begin{bmatrix}\n",
|
||||||
|
"x & y & 1\n",
|
||||||
|
"\\end{bmatrix}\n",
|
||||||
|
"\\begin{bmatrix}\n",
|
||||||
|
"a_1 & a_4 \\\\\n",
|
||||||
|
"a_2 & a_5 \\\\\n",
|
||||||
|
"a_3 & a_6 \n",
|
||||||
|
"\\end{bmatrix}=\\mathbf{X}' = \\mathbf{X}\\mathbf{A}$$\n",
|
||||||
|
"\n",
|
||||||
|
"Assuming we have $n$ data, then $x,\\, y,\\, x',\\, y'$ are considered as $(n, 1)$ shaped column vectors.\n",
|
||||||
|
"\n",
|
||||||
|
"We want to get the best estimation of $\\mathbf{A}$ that minimizes the error between the observed data $\\mathbf{X}'$ and the predicted data $\\hat{\\mathbf{X}}' = \\mathbf{X}\\mathbf{A}$.\n",
|
||||||
|
"\n",
|
||||||
|
"The error can be defined as the SSE (Sum of Squared Errors): $$E = ||{\\mathbf{X}' - \\hat{\\mathbf{X}}'}||^2 = ||{\\mathbf{X}' - \\mathbf{X}\\mathbf{A}}||^2$$\n",
|
||||||
|
"\n",
|
||||||
|
"To minimize the error, we can take the derivative of $E$ with respect to $\\mathbf{A}$ and set it to zero: $$\\frac{\\partial E}{\\partial \\mathbf{A}} = -2\\mathbf{X}^T(\\mathbf{X}' - \\mathbf{X}\\mathbf{A}) = 0$$\n",
|
||||||
|
"\n",
|
||||||
|
"And so we get the normal equation: $$\\mathbf{X}^T\\mathbf{X}\\mathbf{A} = \\mathbf{X}^T\\mathbf{X}'$$\n",
|
||||||
|
"\n",
|
||||||
|
"If $\\mathbf{X}^T\\mathbf{X}$ is invertible, we can solve for $\\mathbf{A}$ as follows: $$\\mathbf{A} = (\\mathbf{X}^T\\mathbf{X})^{-1}\\mathbf{X}^T\\mathbf{X}'$$"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 63,
|
||||||
|
"id": "bc48798a",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"fitdata1 = np.loadtxt(\"./fitdata/fitdata1.dat\")\n",
|
||||||
|
"fitdata2 = np.loadtxt(\"./fitdata/fitdata2.dat\")\n",
|
||||||
|
"fitdata3 = np.loadtxt(\"./fitdata/fitdata3.dat\")"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "1099c0b7",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"def lstsq_np(data: np.ndarray) -> np.ndarray:\n",
|
||||||
|
" x = data[:, 0]\n",
|
||||||
|
" y = data[:, 1]\n",
|
||||||
|
" x_p = data[:, 2]\n",
|
||||||
|
" y_p = data[:, 3]\n",
|
||||||
|
"\n",
|
||||||
|
" n = fitdata1.shape[0]\n",
|
||||||
|
"\n",
|
||||||
|
" X = np.column_stack((x, y, np.ones(n)))\n",
|
||||||
|
"\n",
|
||||||
|
" X_p = np.column_stack((x_p, y_p),)\n",
|
||||||
|
"\n",
|
||||||
|
" params, _, _, _ = np.linalg.lstsq(X, X_p, rcond=None)\n",
|
||||||
|
"\n",
|
||||||
|
" return params\n",
|
||||||
|
"\n",
|
||||||
|
"def lstsq_without_np(data: np.ndarray) -> np.ndarray:\n",
|
||||||
|
" x = data[:, 0]\n",
|
||||||
|
" y = data[:, 1]\n",
|
||||||
|
" x_p = data[:, 2]\n",
|
||||||
|
" y_p = data[:, 3]\n",
|
||||||
|
"\n",
|
||||||
|
" n = fitdata1.shape[0]\n",
|
||||||
|
"\n",
|
||||||
|
" X = np.column_stack((x, y, np.ones(n)))\n",
|
||||||
|
"\n",
|
||||||
|
" X_p = np.column_stack((x_p, y_p),)\n",
|
||||||
|
"\n",
|
||||||
|
" XTX = X.T @ X\n",
|
||||||
|
" XTX_inv = np.linalg.inv(XTX)\n",
|
||||||
|
" XTX_p = X.T @ X_p\n",
|
||||||
|
"\n",
|
||||||
|
" params = XTX_inv @ XTX_p\n",
|
||||||
|
"\n",
|
||||||
|
" return params\n",
|
||||||
|
"\n",
|
||||||
|
"#params_fitdata1 = lstsq_np(fitdata1)\n",
|
||||||
|
"#params_fitdata1_no_np = lstsq_without_np(fitdata1)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 65,
|
||||||
|
"id": "80580706",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"params_fitdata1 = lstsq_without_np(fitdata1)\n",
|
||||||
|
"params_fitdata2 = lstsq_without_np(fitdata2)\n",
|
||||||
|
"params_fitdata3 = lstsq_without_np(fitdata3)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"id": "e2ea3698",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"## Result\n",
|
||||||
|
"\n",
|
||||||
|
"Plotting the fitdatas and the fitting equations."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 72,
|
||||||
|
"id": "2516d336",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"def plot_fitdata(data: np.ndarray, params: np.ndarray, target_name: str) -> None:\n",
|
||||||
|
" fig = plt.figure(figsize=(16, 10))\n",
|
||||||
|
" fig.suptitle(f\"Least Squares Fitting Visualize for {target_name}\", fontsize=28)\n",
|
||||||
|
"\n",
|
||||||
|
" \n",
|
||||||
|
" gs = gridspec.GridSpec(2, 2, figure=fig, height_ratios=[1.0, 0.9])\n",
|
||||||
|
"\n",
|
||||||
|
" x_range = np.linspace(data[:, 0].min(), data[:, 0].max(), 25)\n",
|
||||||
|
" y_range = np.linspace(data[:, 1].min(), data[:, 1].max(), 25)\n",
|
||||||
|
" X_grid, Y_grid = np.meshgrid(x_range, y_range)\n",
|
||||||
|
"\n",
|
||||||
|
" X_prime_fit = params[0, 0] * X_grid + params[1, 0] * Y_grid + params[2, 0]\n",
|
||||||
|
" Y_prime_fit = params[0, 1] * X_grid + params[1, 1] * Y_grid + params[2, 1]\n",
|
||||||
|
"\n",
|
||||||
|
" ax1 = fig.add_subplot(gs[0, 0], projection='3d')\n",
|
||||||
|
" ax1.scatter(data[:, 0], data[:, 1], data[:, 2], c='blue', s=45, alpha=0.7)\n",
|
||||||
|
" ax1.plot_surface(X_grid, Y_grid, X_prime_fit, alpha=0.35, cmap='Blues')\n",
|
||||||
|
" ax1.set_xlabel('x'); ax1.set_ylabel('y'); ax1.set_zlabel(\"x'\")\n",
|
||||||
|
" ax1.set_title(\"$x' = a_1x + a_2y + a_3$\", fontsize=22)\n",
|
||||||
|
"\n",
|
||||||
|
" ax2 = fig.add_subplot(gs[0, 1], projection='3d')\n",
|
||||||
|
" ax2.scatter(data[:, 0], data[:, 1], data[:, 3], c='red', s=45, alpha=0.7)\n",
|
||||||
|
" ax2.plot_surface(X_grid, Y_grid, Y_prime_fit, alpha=0.35, cmap='Reds')\n",
|
||||||
|
" ax2.set_xlabel('x'); ax2.set_ylabel('y'); ax2.set_zlabel(\"y'\")\n",
|
||||||
|
" ax2.set_title(\"$y' = a_4x + a_5y + a_6$\", fontsize=22)\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
" ax3 = fig.add_subplot(gs[1, :])\n",
|
||||||
|
" ax3.axis('off')\n",
|
||||||
|
" a1, a2, a3 = params[:, 0]\n",
|
||||||
|
" a4, a5, a6 = params[:, 1]\n",
|
||||||
|
"\n",
|
||||||
|
" pred_xp = a1 * data[:, 0] + a2 * data[:, 1] + a3\n",
|
||||||
|
" pred_yp = a4 * data[:, 0] + a5 * data[:, 1] + a6\n",
|
||||||
|
" rms_xp = np.sqrt(np.mean((data[:, 2] - pred_xp) ** 2))\n",
|
||||||
|
" rms_yp = np.sqrt(np.mean((data[:, 3] - pred_yp) ** 2))\n",
|
||||||
|
"\n",
|
||||||
|
" # Left side: Parameters\n",
|
||||||
|
" param_text_left = (\n",
|
||||||
|
" r\"$\\mathbf{Estimated\\ Parameters:}$\" + \"\\n\\n\"\n",
|
||||||
|
" r\"$a_1 = \" + f\"{a1:.6g}\" + r\"$\" + \"\\n\"\n",
|
||||||
|
" r\"$a_2 = \" + f\"{a2:.6g}\" + r\"$\" + \"\\n\"\n",
|
||||||
|
" r\"$a_3 = \" + f\"{a3:.6g}\" + r\"$\" + \"\\n\"\n",
|
||||||
|
" r\"$a_4 = \" + f\"{a4:.6g}\" + r\"$\" + \"\\n\"\n",
|
||||||
|
" r\"$a_5 = \" + f\"{a5:.6g}\" + r\"$\" + \"\\n\"\n",
|
||||||
|
" r\"$a_6 = \" + f\"{a6:.6g}\" + r\"$\"\n",
|
||||||
|
" )\n",
|
||||||
|
" \n",
|
||||||
|
" # Right side: Equations and Errors\n",
|
||||||
|
" param_text_right = (\n",
|
||||||
|
" r\"$\\mathbf{Mapping\\ Equations:}$\" + \"\\n\\n\"\n",
|
||||||
|
" r\"$x' = \" + f\"{a1:.6g}\" + r\"\\cdot x + \" + f\"{a2:.6g}\" + r\"\\cdot y + \" + f\"{a3:.6g}\" + r\"$\" + \"\\n\"\n",
|
||||||
|
" r\"$y' = \" + f\"{a4:.6g}\" + r\"\\cdot x + \" + f\"{a5:.6g}\" + r\"\\cdot y + \" + f\"{a6:.6g}\" + r\"$\" + \"\\n\\n\"\n",
|
||||||
|
" r\"$\\mathbf{RMS(Root\\ Mean\\ Square)\\ Errors:}$\" + \"\\n\\n\"\n",
|
||||||
|
" r\"$\\mathrm{RMS}(x') = \" + f\"{rms_xp:.6g}\" + r\"$\" + \"\\n\"\n",
|
||||||
|
" r\"$\\mathrm{RMS}(y') = \" + f\"{rms_yp:.6g}\" + r\"$\"\n",
|
||||||
|
" )\n",
|
||||||
|
" \n",
|
||||||
|
" ax3.text(0.05, 0.95, param_text_left, va='top', ha='left', fontsize=18)\n",
|
||||||
|
" ax3.text(0.5, 0.95, param_text_right, va='top', ha='left', fontsize=18)\n",
|
||||||
|
"\n",
|
||||||
|
" plt.tight_layout()\n",
|
||||||
|
"# ...existing code..."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 73,
|
||||||
|
"id": "1abfa96d",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAABjYAAAPZCAYAAACyChNUAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xl8XFX5P/DPXWYmk5nsTdM2bdO9QCl0o3SlYJEdZFNBVhVRQYWfgCioLSCKguJXwC+KSllF+ArIouxr2bEkbbqkbbqn2Zo9M8nMXc7vj8lcZiazJTNJJsnn/Xrl1aRz594zd7Zz7nPO80hCCAEiIiIiIiIiIiIiIqJhQB7qBhARERERERERERERESWLgQ0iIiIiIiIiIiIiIho2GNggIiIiIiIiIiIiIqJhg4ENIiIiIiIiIiIiIiIaNhjYICIiIiIiIiIiIiKiYYOBDSIiIiIiIiIiIiIiGjYY2CAiIiIiIiIiIiIiomGDgQ0iIiIiIiIiIiIiIho2GNggIiIiIiIiIiIiIqJhg4ENIiIiomHsww8/xMKFC5GTk4OzzjoLtbW1Q92kAaHrOq699loUFRWhrKwMf/vb34a6SaPSaHm9ZTK+F2g442cIERERpYskhBBD3QgiIiIi6rvOzk5MnToVhw4dsv7vlFNOwX/+858hbNXAuOOOO/CTn/zE+luSJLz33ntYunTpELZqdBlNr7dU/eUvf8H69euj3lZYWIjf/e53/d433wup2717N1599VVUVVWho6MD+fn5mDRpEr74xS/isMMOG+rmZaxUz9tw/QyZMmUK9u7dCwB44IEHcMUVVwxxiyhVfE6JiEYGdagbQEREo0dbWxvuu+8+3HTTTUPdFKIRoaqqKuwCEQC89957Ke0z3e/Td999F21tbTjjjDNS2k/k4xJC4IMPPuDF3EE0EK+3kWr9+vV46KGHot5WWlqaUmCD74X+6+zsxHe/+1089thjiDW/7+WXX8ZJJ500yC3LbOk6b8PhOyuTpev7lDIHn1MiotQwFRURUQJTpkyBJEmQJAlr164d6uYMS+3t7bj55ptRVlaGm2++eaibY6mrq8Nvf/tbnHrqqZg4cSKcTifsdjsKCwsxd+5cnHvuubj77ruxf//+oW4qDWNvvfWW9RnS1589e/bE3ffs2bNRVFQU9n/Lly/vVzvT/T594403cNxxx+G4447Dp59+mvL+Ih+XJEm8kNvjhhtusF4zbrcbmqYlfd8LLrjAuu+ECRNiXrQE0vt6o/7je6H/LrzwQjz66KNxX+der3cQWzQ8pOu8ZfJ3ViZL9/dpupmmiR/96Edh/Ze//OUvQ92sjJbpzykR0XDBwAYREQ24jz/+GL/85S/R1tY21E0BEJjd+stf/hLTpk3D9ddfj5deegk1NTXo7u6GpmloaWlBZWUlnnnmGfzwhz/EjBkz8L//+79D3WyiXtxuN1544QXMnz8fbrcbZ5xxRr/z7af7ffrzn/8c7777blr2BQDXX389rrnmGhQWFmLy5Mn4y1/+wou5PU499VTrd4/Hg48++ijp+7711lvW7yeffDIkSYq5bTpfbyPdunXrIISwfh588MG07Zvvhf756KOP8MILL1h/H3fccfj444/h8XiwZ88e/P3vf8eyZcvgcDiGsJWZJ53nLZO/szJZur9P02nr1q1YuXIl7rzzzqFuyrCSyc8pEdFwwlRUREQ06lx11VW4//77rb8VRcH8+fMxYcIEOJ1ONDY2ory8HM3NzQAAv9+PioqKoWoujTCXXnpp3IvHodxud8JtlixZgg0bNqTarIynqip+//vf4/e///1QNyXjrFixAm63G52dnQCA119/HStWrEh4v61bt6K+vt76+5RTTkl4n9HyestkfC/0z6uvvmr9npubi6efftpaPVBWVoaysjJccMEFQ9W8jJXu88bPkJGhuroat99+Ox555BHouj7UzSEiolGKgQ0iIhpV/v3vf4cFNS6//HLcdtttmDhxYth2Qgh89NFHuO+++/D4448PdjNpBPvrX/8KVWUXjNLHbrdj9erV+Ne//gUAeO2117BmzZqE93vzzTet3xVFYV0BGtFqamqs3xctWtQrJRJFx/NGodra2nDttdfi0UcfDQtoHH/88aisrOxVQ4WIiGggMRUVERGNKqEppebOnYu//vWvvYIaQCBn+ZIlS/DII4/g448/xmmnnTaYzSQi6pPQdFQfffQRPB5PwvuEpqFavHgxCgoKBqJpRBmhq6vL+n3cuHFD2JLhheeNQu3evRvr1q2zghqFhYW455578Prrr8Plcg1x64iIaLRhYIOIiEaV0AJ9X/ziFyHLib8KFy5ciLPOOmsgm0VElJLQwIamaXjnnXcS3uftt9+2fk8mDRXRSJFsOkAKx/NG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 truncated
|
||||||
|
"text/plain": [
|
||||||
|
"<Figure size 1600x1000 with 3 Axes>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "display_data"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"plot_fitdata(fitdata1, params_fitdata1, \"fitdata1.dat\")\n",
|
||||||
|
"plt.show()"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 68,
|
||||||
|
"id": "b806e25b",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"image/png": "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 truncated
|
||||||
|
"text/plain": [
|
||||||
|
"<Figure size 1600x1000 with 3 Axes>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "display_data"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"plot_fitdata(fitdata2, params_fitdata2, \"fitdata2.dat\")\n",
|
||||||
|
"plt.show()"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 69,
|
||||||
|
"id": "afd157bb",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAABjYAAAPZCAYAAACyChNUAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xl4G9XZNvB7FkmWJe+xHSdxnD2QBLIQCNkIlBQI+9pCWdvy0gKl9C3QsrRNoKWlhQJfgRZKKTtlecsOZYeSkLAGO3EWJ3GcxU5iO95iy9YyM+f7Q9Ygydpsybbs3L/r8nVJ1mjmzGibM885zyMJIQSIiIiIiIiIiIiIiIiGAHmwG0BERERERERERERERJQoBjaIiIiIiIiIiIiIiGjIYGCDiIiIiIiIiIiIiIiGDAY2iIiIiIiIiIiIiIhoyGBgg4iIiIiIiIiIiIiIhgwGNoiIiIiIiIiIiIiIaMhgYIOIiIiIiIiIiIiIiIYMBjaIiIiIiIiIiIiIiGjIYGCDiIiIiIiIiIiIiIiGDAY2iIiIiIawTz/9FEcccQSysrJw+umnY+/evYPdpH6haRp+9rOfoaCgAGVlZfjnP/852E06KB0s77d0xs8CDWX8DiEiIqJUkYQQYrAbQURERES919HRgfHjx2P//v3m/0466ST85z//GcRW9Y877rgDN910k3lfkiR88sknmD9//iC26uByML3fkvWPf/wDq1ativhYfn4+7r777j6vm5+F5NXU1ODdd99FVVUV2tvbkZubi9LSUnz729/GIYccMtjNS1vJHreh+h0ybtw47Ny5EwDw8MMP4/LLLx/kFlGy+JoSEQ0P6mA3gIiIDh5tbW144IEHcPPNNw92U4iGhaqqqpALRADwySefJLXOVH9OV65ciba2Npx66qlJrSd8v4QQWLNmDS/mDqD+eL8NV6tWrcLjjz8e8bHRo0cnFdjgZ6HvOjo6cOWVV+Lpp59GtPF9b7/9Nk444YQBbll6S9VxGwq/WeksVb+nlD74mhIRJYepqIiI4hg3bhwkSYIkSVixYsVgN2dIOnDgAG655RaUlZXhlltuGezmmPbt24c///nPWLZsGcaMGQO73Q6r1Yr8/HwcdthhOPvss3HPPfdg9+7dg91UGsI++ugj8zukt387duyIue6pU6eioKAg5H8LFy7sUztT/Tn94IMPcMwxx+CYY47Bl19+mfT6wvdLkiReyO12ww03mO8Zp9MJn8+X8HPPP/9887mjRo2KetESSO37jfqOn4W+u+CCC/DUU0/FfJ93dnYOYIuGhlQdt3T+zUpnqf49TZbH48FLL72EH/zgB5g1axby8/NhsViQlZWFSZMm4ayzzsJDDz2E1tbWwW5q2kq315SIaKhiYIOIiPrd559/jt///vdoa2sb7KYA8I9u/f3vf48JEybg+uuvx1tvvYW6ujq43W74fD60tLSgsrISL730En7+859j0qRJ+Nvf/jbYzSbqwel04vXXX8fs2bPhdDpx6qmn9jnffqo/p7/5zW+wcuXKlKwLAK6//npce+21yM/Px9ixY/GPf/yDF3O7LVu2zLztcrnw2WefJfzcjz76yLx94oknQpKkqMum8v023D322GMQQph/jz76aMrWzc9C33z22Wd4/fXXzfvHHHMMPv/8c7hcLuzYsQP/+te/sGDBAthstkFsZfpJ5XFL59+sdJbq39NkvPfeexg/fjzOPvtsPProo6ioqEBLSws0TUNHRweqq6vx8ssv48c//jEmTpyIJ554YrCbnJbS6TUlIhrKmIqKiIgOOldddRUefPBB876iKJg9ezZGjRoFu92OxsZGlJeXo7m5GQDg9XpRUVExWM2lYeaSSy6JefE4mNPpjLvM0UcfjbVr1ybbrLSnqiruvfde3HvvvYPdlLSzaNEiOJ1OdHR0AADef/99LFq0KO7zNm3ahPr6evP+SSedFPc5B8v7LZ3xs9A37777rnk7OzsbL774ojl7oKysDGVlZTj//PMHq3lpK9XHjd8hQ9uXX34ZUvB99OjRmD59OgoKCtDc3IyNGzeaM52bm5tx6aWXorOzEz/+8Y8Hq8lERDSMMbBBREQHlTfffDMkqHHZZZfht7/9LcaMGROynBACn332GR544AE888wzA91MGsYeeeQRqCpPwSh1rFYrjj/+eLzyyisA/CNqly9fHvd5H374oXlbURTWFaBhra6uzrw9d+7cHimRKDIeNwpXVlaGn/zkJzjnnHMwfvz4Ho+/8soruPTSS83ZND//+c9x2mmnYfTo0QPdVCIiGuaYioqIiA4qwSmlDjvsMDzyyCM9ghqAP2f50UcfjSeffBKff/45Tj755IFsJhFRrwSno/rss8/gcrniPic4DdVRRx2FvLy8/mgaUVro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 truncated
|
||||||
|
"text/plain": [
|
||||||
|
"<Figure size 1600x1000 with 3 Axes>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "display_data"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"plot_fitdata(fitdata3, params_fitdata3, \"fitdata3.dat\")\n",
|
||||||
|
"plt.show()"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"kernelspec": {
|
||||||
|
"display_name": "3.12.11",
|
||||||
|
"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.12.11"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nbformat": 4,
|
||||||
|
"nbformat_minor": 5
|
||||||
|
}
|
||||||
Binary file not shown.
Reference in new issue
Block a user