{ "cells": [ { "cell_type": "markdown", "id": "2ebd353f-ace3-422b-bcd3-f93019dcd2f7", "metadata": {}, "source": [ "# " ] }, { "cell_type": "code", "execution_count": 1, "id": "c6fdaca9-fd8a-473d-8ae4-d54486617890", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle t^{2} y$" ], "text/plain": [ "t**2*y" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import *\n", "t = symbols('t')\n", "x = Function('x')(t)\n", "y = symbols('y')\n", "x=y*t**2\n", "x" ] }, { "cell_type": "code", "execution_count": 2, "id": "c8fa8842-ac96-40c0-95be-48626f4951ea", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 2 t y$" ], "text/plain": [ "2*t*y" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diff(x, t)" ] }, { "cell_type": "code", "execution_count": 3, "id": "0fe70daa-5646-495d-9937-13e28c59200a", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{t^{2} y^{2}}{2}$" ], "text/plain": [ "t**2*y**2/2" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(x,y)" ] }, { "cell_type": "code", "execution_count": 4, "id": "d7f45a70-e116-4cb4-81cf-95eee393f1a6", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{t^{3} y}{3}$" ], "text/plain": [ "t**3*y/3" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(x,t)" ] }, { "cell_type": "code", "execution_count": 5, "id": "f8d0291f-aca1-46bd-a73a-2b0f2ea1e1cc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "newfun = lambdify([t,y],x)\n", "newfun(1,3)" ] }, { "cell_type": "code", "execution_count": 6, "id": "73475974-e48a-42cf-bb44-12c2f120939e", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle x{\\left(t \\right)} = C_{1} + C_{2} t$" ], "text/plain": [ "Eq(x(t), C1 + C2*t)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = Function('x')(t)\n", "results = dsolve(Derivative(x,t,t))\n", "results" ] }, { "cell_type": "code", "execution_count": 7, "id": "e05c3b36-9175-47ac-bbd0-5d20cb6a083b", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\epsilon^{3} x_{3}{\\left(t \\right)} + \\epsilon^{2} x_{2}{\\left(t \\right)} + \\epsilon x_{1}{\\left(t \\right)} + x_{0}{\\left(t \\right)}$" ], "text/plain": [ "epsilon**3*x3(t) + epsilon**2*x2(t) + epsilon*x1(t) + x0(t)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x0 = Function('x0')(t); x1 = Function('x1')(t); x2 = Function('x2')(t); x3 = Function('x3')(t); x = Function('x')\n", "t = Symbol('t')\n", "eps = Symbol('epsilon')\n", "x = x0 + eps*x1 + eps**2 *x2 + eps**3 *x3\n", "display(x)" ] }, { "cell_type": "code", "execution_count": 8, "id": "c89c7a7f-0e1d-4f46-85bf-d0585dc7f0bf", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\epsilon^{3} x_{3}{\\left(t \\right)} + \\epsilon^{3} \\frac{d}{d t} x_{3}{\\left(t \\right)} + \\epsilon^{2} x_{2}{\\left(t \\right)} + \\epsilon^{2} \\frac{d}{d t} x_{2}{\\left(t \\right)} - \\epsilon \\left(\\epsilon^{3} x_{3}{\\left(t \\right)} + \\epsilon^{2} x_{2}{\\left(t \\right)} + \\epsilon x_{1}{\\left(t \\right)} + x_{0}{\\left(t \\right)}\\right)^{2} + \\epsilon x_{1}{\\left(t \\right)} + \\epsilon \\frac{d}{d t} x_{1}{\\left(t \\right)} + x_{0}{\\left(t \\right)} + \\frac{d}{d t} x_{0}{\\left(t \\right)}$" ], "text/plain": [ "epsilon**3*x3(t) + epsilon**3*Derivative(x3(t), t) + epsilon**2*x2(t) + epsilon**2*Derivative(x2(t), t) - epsilon*(epsilon**3*x3(t) + epsilon**2*x2(t) + epsilon*x1(t) + x0(t))**2 + epsilon*x1(t) + epsilon*Derivative(x1(t), t) + x0(t) + Derivative(x0(t), t)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "expr = x.diff(t) + x - eps*x**2\n", "display(expr)" ] }, { "cell_type": "code", "execution_count": 9, "id": "1f29a2d0-d861-45ac-8442-7cc4e52a496a", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle - \\epsilon^{7} x_{3}^{2}{\\left(t \\right)} - 2 \\epsilon^{6} x_{2}{\\left(t \\right)} x_{3}{\\left(t \\right)} - 2 \\epsilon^{5} x_{1}{\\left(t \\right)} x_{3}{\\left(t \\right)} - \\epsilon^{5} x_{2}^{2}{\\left(t \\right)} - 2 \\epsilon^{4} x_{0}{\\left(t \\right)} x_{3}{\\left(t \\right)} - 2 \\epsilon^{4} x_{1}{\\left(t \\right)} x_{2}{\\left(t \\right)} - 2 \\epsilon^{3} x_{0}{\\left(t \\right)} x_{2}{\\left(t \\right)} - \\epsilon^{3} x_{1}^{2}{\\left(t \\right)} + \\epsilon^{3} x_{3}{\\left(t \\right)} + \\epsilon^{3} \\frac{d}{d t} x_{3}{\\left(t \\right)} - 2 \\epsilon^{2} x_{0}{\\left(t \\right)} x_{1}{\\left(t \\right)} + \\epsilon^{2} x_{2}{\\left(t \\right)} + \\epsilon^{2} \\frac{d}{d t} x_{2}{\\left(t \\right)} - \\epsilon x_{0}^{2}{\\left(t \\right)} + \\epsilon x_{1}{\\left(t \\right)} + \\epsilon \\frac{d}{d t} x_{1}{\\left(t \\right)} + x_{0}{\\left(t \\right)} + \\frac{d}{d t} x_{0}{\\left(t \\right)}$" ], "text/plain": [ "-epsilon**7*x3(t)**2 - 2*epsilon**6*x2(t)*x3(t) - 2*epsilon**5*x1(t)*x3(t) - epsilon**5*x2(t)**2 - 2*epsilon**4*x0(t)*x3(t) - 2*epsilon**4*x1(t)*x2(t) - 2*epsilon**3*x0(t)*x2(t) - epsilon**3*x1(t)**2 + epsilon**3*x3(t) + epsilon**3*Derivative(x3(t), t) - 2*epsilon**2*x0(t)*x1(t) + epsilon**2*x2(t) + epsilon**2*Derivative(x2(t), t) - epsilon*x0(t)**2 + epsilon*x1(t) + epsilon*Derivative(x1(t), t) + x0(t) + Derivative(x0(t), t)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "expr = expr.expand()\n", "display(expr)\n" ] }, { "cell_type": "code", "execution_count": 11, "id": "3c1ef020-baf0-459b-8066-d70e86912203", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle - \\epsilon^{7} x_{3}^{2}{\\left(t \\right)} - 2 \\epsilon^{6} x_{2}{\\left(t \\right)} x_{3}{\\left(t \\right)} + \\epsilon^{5} \\left(- 2 x_{1}{\\left(t \\right)} x_{3}{\\left(t \\right)} - x_{2}^{2}{\\left(t \\right)}\\right) + \\epsilon^{4} \\left(- 2 x_{0}{\\left(t \\right)} x_{3}{\\left(t \\right)} - 2 x_{1}{\\left(t \\right)} x_{2}{\\left(t \\right)}\\right) + \\epsilon^{3} \\left(- 2 x_{0}{\\left(t \\right)} x_{2}{\\left(t \\right)} - x_{1}^{2}{\\left(t \\right)} + x_{3}{\\left(t \\right)} + \\frac{d}{d t} x_{3}{\\left(t \\right)}\\right) + \\epsilon^{2} \\left(- 2 x_{0}{\\left(t \\right)} x_{1}{\\left(t \\right)} + x_{2}{\\left(t \\right)} + \\frac{d}{d t} x_{2}{\\left(t \\right)}\\right) + \\epsilon \\left(- x_{0}^{2}{\\left(t \\right)} + x_{1}{\\left(t \\right)} + \\frac{d}{d t} x_{1}{\\left(t \\right)}\\right) + x_{0}{\\left(t \\right)} + \\frac{d}{d t} x_{0}{\\left(t \\right)}$" ], "text/plain": [ "-epsilon**7*x3(t)**2 - 2*epsilon**6*x2(t)*x3(t) + epsilon**5*(-2*x1(t)*x3(t) - x2(t)**2) + epsilon**4*(-2*x0(t)*x3(t) - 2*x1(t)*x2(t)) + epsilon**3*(-2*x0(t)*x2(t) - x1(t)**2 + x3(t) + Derivative(x3(t), t)) + epsilon**2*(-2*x0(t)*x1(t) + x2(t) + Derivative(x2(t), t)) + epsilon*(-x0(t)**2 + x1(t) + Derivative(x1(t), t)) + x0(t) + Derivative(x0(t), t)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "epsforms = collect(expr,eps)\n", "display(epsforms)" ] }, { "cell_type": "code", "execution_count": 17, "id": "d79677a6-b658-4970-aca7-8aaf8dfdd5ad", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[x0(t) + Derivative(x0(t), t),\n", " -x0(t)**2 + x1(t) + Derivative(x1(t), t),\n", " -2*x0(t)*x1(t) + x2(t) + Derivative(x2(t), t),\n", " -2*x0(t)*x2(t) - x1(t)**2 + x3(t) + Derivative(x3(t), t)]" ] }, "metadata": {}, "output_type": "display_data" }, { "ename": "TypeError", "evalue": "'x0' object is not callable", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[17], line 7\u001b[0m\n\u001b[1;32m 4\u001b[0m EqLHS\u001b[38;5;241m.\u001b[39mappend(collect(epsforms, eps, evaluate\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)[eps\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mk])\n\u001b[1;32m 5\u001b[0m display(EqLHS)\n\u001b[0;32m----> 7\u001b[0m a \u001b[38;5;241m=\u001b[39m dsolve(Eq(EqLHS[\u001b[38;5;241m0\u001b[39m],\u001b[38;5;241m0\u001b[39m),x0, ics \u001b[38;5;241m=\u001b[39m{\u001b[43mx0\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m)\u001b[49m:\u001b[38;5;241m2\u001b[39m})\n", "\u001b[0;31mTypeError\u001b[0m: 'x0' object is not callable" ] } ], "source": [ "EqLHS = [ ] \n", "Orders = [0,1,2,3]\n", "for k in Orders:\n", " EqLHS.append(collect(epsforms, eps, evaluate=False)[eps**k])\n", "display(EqLHS)\n", "\n", "a = dsolve(Eq(EqLHS[0],0),x0, ics ={x0(0):2})" ] } ], "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.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }