{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Xocs elàstics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "3. En un joc de hoquei taula un jugador deixa anar la seva maça de 150 g que dona un cop a 0,6 m/s contra el disc de 39 g que anava a 1,6 m/s en sentit contrari. Calcula las velocitats finals de la maça i del disc." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Solució\n", "\n", "Es tracta d'un xoc elàstic, on és compleix la conservació de l'energia cinètica, a més a més de la conservació del moment. Encara que, en general, aquest tipus de problema l'hauríem de plantejar vectorialment, com les velocitats són oposades el podem escriure de forma escalar:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\frac{1}{2}\\cdot m_{1} \\cdot v_{1i}^{2} + \\frac{1}{2}\\cdot m_{2} \\cdot v_{2i}^{2} = \\frac{1}{2}\\cdot m_{1} \\cdot v_{1f}^{2} + \\frac{1}{2}\\cdot m_{2} \\cdot v_{1f}^{2} \\\\\n", "m_{1} \\cdot v_{1i} + m_{2} \\cdot v_{2i} = m_{1} \\cdot v_{1f} + m_{2} \\cdot v_{2f}\n", "$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "posem les dades en unitats S.I., encara que ometrem les unitats per simplificar la feina:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\frac{1}{2}\\cdot 0,15 \\cdot 0,6^{2} + \\frac{1}{2}\\cdot 0,039 \\cdot 1,6^{2} = \\frac{1}{2}\\cdot 0,15 \\cdot v_{1f}^{2} + \\frac{1}{2}\\cdot 0,039 \\cdot v_{1f}^{2} \\\\\n", "0,15 \\cdot 0,6 + 0,039 \\cdot 1,6 = 0,15 \\cdot v_{1f} + 0,039 \\cdot v_{2f}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Es tracta d'un sistema **no linial** de 2 equacions amb 2 incògnites. \n", "\n", "Podem calcular el primer membre de cada equació, ja que coneixem les condicions inicials:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.07692000000000002" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1/2*0.15*0.6**2+1/2*0.039*1.6**2" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.1524" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "0.15*0.6+0.039*1.6" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Per resoldre aquest sistema podem utilitzar el paquet de calcul simbòlic *sympy*" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(0.600000000000000, 1.60000000000000), (1.01269841269841, 0.0126984126984127)]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import *\n", "x, y = symbols(\"x y\")\n", "\n", "solve([Eq(0.15/2*x**2+0.039/2*y**2, 0.07692), Eq(0.15*x+0.039*y, 0.1524)],[x,y])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusions\n", "\n", "Fixeu-vos que el sistema admet dues solucions:\n", "\n", "Aquesta solució correspon a abans del xoc:\n", "$\n", " \\left\\{ \\begin{array}{cl}\n", "v_{1}=0,6 \\\\\n", " v_{2}=1,6\n", "\\end{array} \\right.\n", "$\n", "\n", "Aquesta solució correspon a després del xoc:\n", "$\n", " \\left\\{ \\begin{array}{cl}\n", "v_{1}=1,0127 \\\\\n", " v_{2}=0,0127\n", "\\end{array} \\right.\n", "$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Potència de *sympy*\n", "\n", "L'ajut de la llibreria *sympy* és en aquest cas espectacular. Sense ella hauríem de resoldre a ma el sistema, operació extremadament pesada ja que es tracta d'un sistema no linial. La millor forma de resoldre aquests sistemes és el mètode de substitució:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Aïllem $v_{2f}$ a l'equació de conservació del moment:\n", "\n", "$$\n", "0,1524 = 0,15 \\cdot v_{1f} + 0,039 \\cdot v_{2f} \\Rightarrow v_{2f} = \\frac{0,1524 - 0,15 \\cdot v_{1f}}{0,039} \\\\\n", "0,07692 = 0,075 \\cdot v_{1f}^{2} + 0,0195 \\cdot v_{1f}^{2}\n", "$$\n", "\n", "i substituim la seva expressió a l'equació de conservació de l'energia:\n", "\n", "$$\n", "0,07692 = \\frac{1}{2}\\cdot 0,15 \\cdot v_{1f}^{2} + \\frac{1}{2}\\cdot 0,039 \\cdot v_{1f}^{2} \\Rightarrow 0,07692 = 0,075 \\cdot v_{1f}^{2} + 0,0195 \\cdot \\left(\\frac{0,1524 - 0,15 \\cdot v_{1f}}{0,039}\\right)^2\n", "$$\n", "\n", "Desenvolupem el quadrat:\n", "\n", "$$\n", "0,07692 = 0,075 \\cdot v_{1f}^{2} + 0,0195 \\cdot \\left( \\frac{0,1524^2 - 2 \\cdot 0,1524 \\cdot 0,15 \\cdot v_{1f} + 0,15^2 \\cdot v_{1f}^2}{0,039^2} \\right)\n", "$$\n", "\n", "Simplifiquem l'expressió:\n", "\n", "$$\n", "0,07692 = 0,075 \\cdot v_{1f}^{2} + 0,2978 - 0,5862 \\cdot v_{1f} + 0,2885 \\cdot v_{1f}^2\n", "$$\n", "\n", "$$\n", "(0,075 +0,2885) \\cdot v_{1f}^2 - 0,5862 \\cdot v_{1f} + 0,2978 - 0,07692 = 0 \n", "$$\n", "\n", "Arribem a una eqüació de 2n grau:\n", "\n", "$$\n", "0,3635 \\cdot v_{1f}^2 - 0,5862 \\cdot v_{1f} + 0,2209 = 0 \n", "$$\n", "\n", "que té com a solucions:\n", "\n", "$\n", "v_{1f} = \\left\\{ \\begin{array}{cl}\n", "1,0127 \\\\\n", "0,6\n", "\\end{array} \\right.\n", "$\n", "\n", "Calculem $v_{2f}$ a partir de $v_{1f}$. Ems dona, respectivament,\n", "\n", "$\n", "v_{2f} = \\left\\{ \\begin{array}{cl}\n", "0,0127 \\\\\n", "1,6\n", "\\end{array} \\right.\n", "$\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.7.3" } }, "nbformat": 4, "nbformat_minor": 4 }