Notebook
parent
d7fbaaab63
commit
938d409395
|
@ -18,3 +18,4 @@
|
|||
CMakeLists.txt.user*
|
||||
xcode/
|
||||
/Dockerfile
|
||||
/python/gtsam/notebooks/.ipynb_checkpoints/ellipses-checkpoint.ipynb
|
||||
|
|
|
@ -0,0 +1,136 @@
|
|||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Ellipse Scaling\n",
|
||||
"\n",
|
||||
"The code to calculate the percentages included in ellipses with various values of \"k\" in `plot.py`.\n",
|
||||
"\n",
|
||||
"Thanks to @senselessDev, January 26, for providing the code in [PR #1067](https://github.com/borglab/gtsam/pull/1067)."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import scipy\n",
|
||||
"import scipy.stats"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def pct_to_sigma(pct, dof):\n",
|
||||
" return np.sqrt(scipy.stats.chi2.ppf(pct / 100., df=dof))\n",
|
||||
"\n",
|
||||
"def sigma_to_pct(sigma, dof):\n",
|
||||
" return scipy.stats.chi2.cdf(sigma**2, df=dof) * 100."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 23,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"0D\t 1 \t 2 \t 3 \t 4 \t 5 \n",
|
||||
"1D\t68.26895%\t95.44997%\t99.73002%\t99.99367%\t99.99994%\n",
|
||||
"2D\t39.34693%\t86.46647%\t98.88910%\t99.96645%\t99.99963%\n",
|
||||
"3D\t19.87480%\t73.85359%\t97.07091%\t99.88660%\t99.99846%\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"for dim in range(0, 4):\n",
|
||||
" print(\"{}D\".format(dim), end=\"\")\n",
|
||||
" for sigma in range(1, 6):\n",
|
||||
" if dim == 0: print(\"\\t {} \".format(sigma), end=\"\")\n",
|
||||
" else: print(\"\\t{:.5f}%\".format(sigma_to_pct(sigma, dim)), end=\"\")\n",
|
||||
" print()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 29,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"1D\n",
|
||||
"\n",
|
||||
"sigma=1.0 -> 68.26895%\n",
|
||||
"sigma=2.0 -> 95.44997%\n",
|
||||
"sigma=2.5 -> 98.75807%\n",
|
||||
"sigma=5.0 -> 99.99994%\n",
|
||||
"\n",
|
||||
"2D\n",
|
||||
"\n",
|
||||
"sigma=1.0 -> 39.34693%\n",
|
||||
"sigma=2.0 -> 86.46647%\n",
|
||||
"sigma=2.5 -> 95.60631%\n",
|
||||
"sigma=5.0 -> 99.99963%\n",
|
||||
"\n",
|
||||
"3D\n",
|
||||
"\n",
|
||||
"sigma=1.0 -> 19.87480%\n",
|
||||
"sigma=2.0 -> 73.85359%\n",
|
||||
"sigma=2.5 -> 89.99392%\n",
|
||||
"sigma=5.0 -> 99.99846%\n",
|
||||
"\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"for dim in range(1, 4):\n",
|
||||
" print(\"{}D\\n\".format(dim))\n",
|
||||
" for sigma in [1, 2, 2.5, 5]:\n",
|
||||
" print(\"sigma={:.1f} -> {:.5f}%\".format(sigma, sigma_to_pct(sigma, dim)), end=\"\")\n",
|
||||
" print()\n",
|
||||
" print()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"interpreter": {
|
||||
"hash": "341996cd3f3db7b5e0d1eaea072c5502d80452314e72e6b77c40445f6e9ba101"
|
||||
},
|
||||
"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.10.4"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
Loading…
Reference in New Issue