creazione esperimento molle
This commit is contained in:
283
osc_attr.ipynb
Normal file
283
osc_attr.ipynb
Normal file
@@ -0,0 +1,283 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "9c25e271",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import importlib\n",
|
||||
"from statlib import *\n",
|
||||
"\n",
|
||||
"g = 9.806\n",
|
||||
"ug = 0.004"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "233e717f",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Calcolo w0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "e1efad4a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# k e m varie configurazioni\n",
|
||||
"\n",
|
||||
"# k [N/m]\n",
|
||||
"k1 = 23.631\n",
|
||||
"uk1 = 0.017\n",
|
||||
"\n",
|
||||
"k2 = 3.2053\n",
|
||||
"uk2 = 0.0013\n",
|
||||
"\n",
|
||||
"# m [g]\n",
|
||||
"m_CD = [63.13, 83.04, 103.02, 122.83, 142.77, 162.44, 182.33]\n",
|
||||
"m_rete = [58.96, 78.86, 98.85, 118.66, 138.61, 158.26, 178.16]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "81d935ac",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Creazione Data\n",
|
||||
"\n",
|
||||
"df = pd.DataFrame()\n",
|
||||
"df[\"m_CD\"] = m_CD\n",
|
||||
"df[\"um_CD\"] = 0.01/np.sqrt(12)\n",
|
||||
"df[\"m_rete\"] = m_rete\n",
|
||||
"df[\"um_rete\"] = 0.01/np.sqrt(12)\n",
|
||||
"df[\"k1\"] = k1\n",
|
||||
"df[\"uk1\"] = uk1\n",
|
||||
"df[\"k2\"] = k2\n",
|
||||
"df[\"uk2\"] = uk2\n",
|
||||
"\n",
|
||||
"param_sistema = Data(df)\n",
|
||||
"param_sistema.analisi_stat = df"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "7b2c2af7",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Calcolo w0 varie cnfigurazioni\n",
|
||||
"\n",
|
||||
"m_CD, m_rete, k1, k2 = sp.symbols('m_CD, m_rete, k1, k2', positive=True)\n",
|
||||
"\n",
|
||||
"w0_1_CD = sp.sqrt(k1/(m_CD/1000))\n",
|
||||
"w0_1_rete = sp.sqrt(k1/(m_rete/1000))\n",
|
||||
"w0_2_CD = sp.sqrt(k2/(m_CD/1000))\n",
|
||||
"w0_2_rete = sp.sqrt(k2/(m_rete/1000))\n",
|
||||
"\n",
|
||||
"param_sistema = param_sistema.calc_var(w0_1_CD, \"w0_1_CD\")\n",
|
||||
"param_sistema = param_sistema.calc_var(w0_1_rete, \"w0_1_rete\")\n",
|
||||
"param_sistema = param_sistema.calc_var(w0_2_CD, \"w0_2_CD\")\n",
|
||||
"param_sistema = param_sistema.calc_var(w0_2_rete, \"w0_2_rete\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "ecf23a81",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Creazione classi dati\n",
|
||||
"\n",
|
||||
"Selezione picchi delle oscillazioni"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "c040f35e",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"config = [molla1_leggera_rete_inizio, molla1_leggera_rete_fine, molla1_leggera_rete_mid,\n",
|
||||
" molla1_pesante_rete_inizio, molla1_pesante_rete_fine, molla1_pesante_rete_mid,\n",
|
||||
" molla1_leggera_CD_inizio, molla1_leggera_CD_fine, molla1_leggera_CD_mid,\n",
|
||||
" molla1_pesante_CD_inizio, molla1_pesante_CD_fine, molla1_pesante_CD_mid,\n",
|
||||
" molla2_leggera_rete_inizio, molla2_leggera_rete_fine, molla2_leggera_rete_mid,\n",
|
||||
" molla2_pesante_rete_inizio, molla2_pesante_rete_fine, molla2_pesante_rete_mid,\n",
|
||||
" molla2_leggera_CD_inizio, molla2_leggera_CD_fine, molla2_leggera_CD_mid,\n",
|
||||
" molla2_pesante_CD_inizio, molla2_pesante_CD_fine, molla2_pesante_CD_mid]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "3b522bfe",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Rgressione lineare"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "30f903b5",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Attrito proporzionale a v"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "64e483e1",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Calcolo simbolico x e y\n",
|
||||
"\n",
|
||||
"# x = n-1\n",
|
||||
"n = sp.Symbol('n', positive=True)\n",
|
||||
"x = n-1\n",
|
||||
"\n",
|
||||
"# y = ln(h1/hn)\n",
|
||||
"h1, hn = sp.symbols('h1 hn', positive=True)\n",
|
||||
"y = sp.ln(h1/hn)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "b0df03fc",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Calcolo numerico x e y\n",
|
||||
"\n",
|
||||
"for data in config:\n",
|
||||
" data = data.calc_var(x, \"x\")\n",
|
||||
" data = data.calc_var(y, \"y\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "497ed583",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Regressione\n",
|
||||
"\n",
|
||||
"for data in config:\n",
|
||||
" data = data.reg_lin(stampa_param=True, plot_regressione=True, calc_residui=True,\n",
|
||||
" x_label=\"\", y_label=\"\", r_label=\"\",\n",
|
||||
" titolo_reg=\"\", titolo_residui=\"\",\n",
|
||||
" cd_A=4, cd_B=4, scala_barre=1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "453d5b53",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Attrito proporzionale a v^2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "cdb8d336",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Calcolo simbolico x e y\n",
|
||||
"\n",
|
||||
"# x = n-1\n",
|
||||
"n = sp.Symbol('n', positive=True)\n",
|
||||
"x = n-1\n",
|
||||
"\n",
|
||||
"# y = 1/hn - 1/h1\n",
|
||||
"h1, hn = sp.symbols('h1 hn', positive=True)\n",
|
||||
"y = 1/hn - 1/h1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "84ad3d64",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Calcolo numerico x e y\n",
|
||||
"\n",
|
||||
"for data in config:\n",
|
||||
" data = data.calc_var(x, \"x\")\n",
|
||||
" data = data.calc_var(y, \"y\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "8fee50b3",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Regressione\n",
|
||||
"\n",
|
||||
"for data in config:\n",
|
||||
" data = data.reg_lin(stampa_param=True, plot_regressione=True, calc_residui=True,\n",
|
||||
" x_label=\"\", y_label=\"\", r_label=\"\",\n",
|
||||
" titolo_reg=\"\", titolo_residui=\"\",\n",
|
||||
" cd_A=4, cd_B=4, scala_barre=1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "dc3ce36f",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Stima errore campionamento"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "513736c3",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"A_max =\n",
|
||||
"w0_max =\n",
|
||||
"fc = 50 # [Hz]\n",
|
||||
"\n",
|
||||
"err_picco_max = A_max * (1 - np.cos(w0_max / (2*fc)))\n",
|
||||
"print(f\"errore massimo individuazione picco > {err_picco_max}\")"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "base",
|
||||
"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.13.11"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
Reference in New Issue
Block a user