{ "cells": [ { "cell_type": "code", "execution_count": 16, "id": "74112073", "metadata": {}, "outputs": [], "source": [ "from sympy import symbols, Rational, Eq, solveset, simplify" ] }, { "cell_type": "code", "execution_count": 2, "id": "6bc9efc7", "metadata": {}, "outputs": [], "source": [ "m1, m2, u1, u2, v1, v2 = symbols(\"m_1 m_2 u_1 u_2 v_1 v_2\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "3e6364f1", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle m_{1} u_{1} + m_{2} u_{2} = m_{1} v_{1} + m_{2} v_{2}$" ], "text/plain": [ "Eq(m_1*u_1 + m_2*u_2, m_1*v_1 + m_2*v_2)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "momentum = Eq(m1*u1 + m2*u2, m1*v1 + m2*v2)\n", "momentum" ] }, { "cell_type": "code", "execution_count": 20, "id": "9ded4789", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{m_{1} u_{1}^{2}}{2} + \\frac{m_{2} u_{2}^{2}}{2} = \\frac{m_{1} v_{1}^{2}}{2} + \\frac{m_{2} v_{2}^{2}}{2}$" ], "text/plain": [ "Eq(m_1*u_1**2/2 + m_2*u_2**2/2, m_1*v_1**2/2 + m_2*v_2**2/2)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "energy = Eq(Rational(1,2)*m1*u1**2 + Rational(1,2)*m2*u2**2, Rational(1,2)*m1*v1**2 + Rational(1,2)*m2*v2**2)\n", "energy" ] }, { "cell_type": "code", "execution_count": 24, "id": "cf10849e", "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{m_{1} u_{1} + m_{2} u_{2} - m_{2} v_{2}}{m_{1}}$" ], "text/plain": [ "(m_1*u_1 + m_2*u_2 - m_2*v_2)/m_1" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v1subs = solveset(momentum, v1).args[0]\n", "v1subs" ] }, { "cell_type": "code", "execution_count": 21, "id": "7ddd7217", "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{m_{1} u_{1} - m_{1} v_{1} + m_{2} u_{2}}{m_{2}}$" ], "text/plain": [ "(m_1*u_1 - m_1*v_1 + m_2*u_2)/m_2" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v2subs = solveset(momentum, v2).args[0]\n", "v2subs" ] }, { "cell_type": "code", "execution_count": 23, "id": "91ed38f7", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\left\\{u_{1}, \\frac{m_{1} u_{1} - m_{2} u_{1} + 2 m_{2} u_{2}}{m_{1} + m_{2}}\\right\\}$" ], "text/plain": [ "{u_1, (m_1*u_1 - m_2*u_1 + 2*m_2*u_2)/(m_1 + m_2)}" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solveset(energy.subs(v2, v2subs), v1)" ] }, { "cell_type": "code", "execution_count": 25, "id": "68dc2807", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\left\\{u_{2}, \\frac{2 m_{1} u_{1} - m_{1} u_{2} + m_{2} u_{2}}{m_{1} + m_{2}}\\right\\}$" ], "text/plain": [ "{u_2, (2*m_1*u_1 - m_1*u_2 + m_2*u_2)/(m_1 + m_2)}" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solveset(energy.subs(v1, v1subs), v2)" ] }, { "cell_type": "code", "execution_count": null, "id": "f173f290", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }