{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Programmare in Python\n",
"\n",
"## Esercizi: Statistica\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__1 - Generate 500 numeri reali casuali nell'intervallo [0,1]. Calcolatene la media e la deviazione standard.__"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__2 - Generate 500 numeri reali casuali nell'intervallo [-2,4]. Calcolatene la media e la deviazione standard. Potete riutilizzare l'array creato nel problema precedente?__"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__3 - Salvate i numeri generati nel problema precedente in un file `mydata0.txt` nel formato:__\n",
"```\n",
"id_ dato dato\n",
"1 -1.5\n",
"2 3.1\n",
"```\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__4 - Generate 1000 numeri casuali distribuiti decondo la distribuzione normale standard. Fatene l'istogramma usando 50 bin nell'intervallo [-4,4]. Calcolate media e deviazione standard. Fate il grafico. Fate lo stesso con 10000 e 100000 numeri casuali.__"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__4 - Importate il file dati \"`../Data/sample_2.txt`\" usando `np.loadtxt()`. Usate `np.histogram()` per creare un histogram array. La funzione restituisce sia il conteggio che l'array dei bordi dei bin. Fate il grafico ed eventualmente modificate il numero di bin per avere una migliore rappresentazione. Infine ciclate sui bin e stampate il centro e il conteggio di ciascun bin. Valutate la media e la deviazione standard dei dati.__"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__5 - Usate la funzione `numpy.random.default_rng().integers` per simulare 1000 lanci di 4 dadi. Costruite l'array `dice4` della somma dei punteggi dei quattro dati in ogni lancio. Fate l'istogramma delle frequenze di `dice4`.__"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__6 - Generate un array x0 che contenga 20 punti casuali uniformemente distribuiti fra 0 e 1. Generate un array y0 che contenga 20 punti casuali uniformemente distribuiti fra -1 e 2. Fate lo scatter plot dei 20 punti di coordinate x0[i], y0[i], con i = 1 ... 20.__\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__7 -__\n",
"__Generate casualmente, in modo uniforme, le coordinate (reali) x e y, comprese fra 0 e 10, di 50 punti.__
\n",
"__Fate il plot dei punti generati.__
\n",
"__Generate casualmente, in modo uniforme, le componenti vx e vy, comprese fra -2 e 2, di 50 velocità, una per ciascun punto.__
\n",
"__Supponendo che ciascun punto si muova di moto uniforme con la corrispondente velocità, trovate la posizione dei punti dopo 2 secondi.__
\n",
"__Fate il plot dei nuovi punti.__
"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__8 -__\n",
"__Nell'esercizio precedente, se un punto a t=2 risulta essere al di fuori di 0 < x < 10, 0 < y < 10, introducete l'effetto dell'urto con le pareti, generalizzando la regola:__\n",
" - __Se x >10 , x --> 10 - (x - 10)__\n",
" - __Se y >10 , y --> 10 - (y - 10)__\n",
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"hide_input": false,
"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"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": true,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
},
"varInspector": {
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"delete_cmd_postfix": "",
"delete_cmd_prefix": "del ",
"library": "var_list.py",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"delete_cmd_postfix": ") ",
"delete_cmd_prefix": "rm(",
"library": "var_list.r",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
],
"window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 4
}