from sympy.physics.mechanics import dynamicsymbols, init_vprinting
init_vprinting()
x, y = dynamicsymbols('x y')
Derivative(x, t)
In [1]:
from sympy import *
from sympy.abc import x, y, n, t, g, m, A, B, u
In [2]:
y = Function('y')
yP = Function('y_+')
yM = Function('y_-')
f = Function('f')
g = Function('g')
ySym = symbols('y')
ySymP = symbols('y_+')
ySymM = symbols('y_-')
p = Function('p')
x_0, y_0 = symbols('x_0 y_0')
dx, dy = symbols('dx dy')
y_1 = symbols('y_1')
mu = Function('mu')
mu_0 = symbols('mu_0')
In [3]:
generalODE = Eq(Derivative(y(x), x), f(x, y(x)))
display(generalODE)
In [ ]:
In [4]:
Eq(y_1, y_0 + DiracDelta(x) * f(x_0, y_0))
Out[4]:
In [5]:
DiracDelta(x)
Out[5]:
In [6]:
diffEq = Eq(g(y(x)) * Derivative(y(x), x), f(x), evaluate = False)
display(diffEq)
In [7]:
IC = Eq(y(x_0), y_0)
display(IC)
In [8]:
solveDiffEq = Eq(Integral(g(y(x)) * Derivative(y(x), x), (x, x_0, x)),
Integral(f(x), (x, x_0, x)), evaluate = False)
display(solveDiffEq)
In [9]:
valOfU = Eq(u, y(x))
valOfDiffU = Eq(Derivative(u, x), Derivative(y(x), x))
valOfYAtX_0 = Eq(y(x_0), y_0)
valOfYAtX = Eq(y(x), y, evaluate = False)
display(valOfU)
display(valOfDiffU)
display(valOfYAtX_0)
display(valOfYAtX)
In [10]:
solveDiffEq = Eq(Integral(g(u), (u, y_0, y)),
Integral(f(x), (x, x_0, x)), evaluate = False)
display(solveDiffEq)
In [11]:
solveDiffEq = Eq(Integral(g(ySym), (ySym, y_0, ySym)),
Integral(f(x), (x, x_0, x)), evaluate = False)
display(solveDiffEq)
In [12]:
solveDiffEq = Eq(g(ySym) * Derivative(ySym, x) , f(x))
display(solveDiffEq)
In [13]:
dsolve(diffEq, y(x))
Out[13]:
In [14]:
diffEq = Eq(Derivative(y, x) + y(x)/2 , Rational(3, 2), evaluate = False)
display(diffEq)
In [15]:
IC = Eq(y(0), 2)
display(IC)
In [16]:
solveDiffEq = Eq(dy / (3 - ySym) , Rational(1, 2) * dx, evaluate = False)
display(solveDiffEq)
In [17]:
solveDiffEq = Eq(Integral(1/ (3 - ySym), (ySym, 2, y)) , Integral(Rational(1, 2), (x, 0, x)), evaluate = False)
display(solveDiffEq)
In [18]:
solveDiffEq = Eq(ln(3 - ySym), -Rational(1, 2) * x, evaluate = False)
display(solveDiffEq)
In [19]:
solveDiffEq = Eq(3 - ySym, exp(-Rational(1, 2) * x), evaluate = False)
display(solveDiffEq)
In [20]:
solveDiffEq = Eq(y, 3 - exp(-Rational(1, 2) * x), evaluate = False)
display(solveDiffEq)
In [21]:
checkSoln = Eq(Eq(y(0), 3 - exp(-Rational(1, 2) * 0, evaluate = False)), 2, evaluate = False)
display(checkSoln)
In [22]:
diffEq = Eq(Derivative(y, x) + y(x)/2 , Rational(3, 2), evaluate = False)
display(diffEq)
In [23]:
IC = Eq(y(0), 4)
display(IC)
In [24]:
solveDiffEq = Eq(Integral(1/ (3 - ySym), (ySym, 2, y)) , Integral(Rational(1, 2), (x, 0, x)), evaluate = False)
display(solveDiffEq)
In [25]:
solveDiffEq = Eq(-ln(-3 + ySym), -Rational(1, 2) * x, evaluate = False)
display(solveDiffEq)
In [26]:
solveDiffEq = Eq(-3 + ySym, exp(-Rational(1, 2) * x), evaluate = False)
display(solveDiffEq)
In [27]:
solveDiffEq = Eq(y, 3 + exp(-Rational(1, 2) * x), evaluate = False)
display(solveDiffEq)
In [28]:
checkSoln = Eq(Eq(y(0), 3 + exp(-Rational(1, 2) * 0, evaluate = False)), 4, evaluate = False)
display(checkSoln)
In [29]:
diffEq = Eq(Derivative(y, x), 2 * cos(2*x)/(3+2*ySym), evaluate = False)
display(diffEq)
In [30]:
IC = Eq(y(0), -1)
display(IC)
In [31]:
solveDiffEq = Eq((3 + 2 *ySym) * dy , 2 * cos(2*x) * dx, evaluate = False)
display(solveDiffEq)
In [32]:
solveDiffEq = Eq(Integral(3 + 2 *ySym, (ySym, -1, y)) , Integral( 2 * cos(2*x), (x, 0, x)), evaluate = False)
display(solveDiffEq)
In [33]:
solveDiffEq = Eq(3*ySym + ySym**2 + 2, sin(2*x), evaluate = False)
display(solveDiffEq)
In [34]:
solveDiffEq = Eq(3*ySym + ySym**2 + 2 - sin(2*x), 0, evaluate = False)
display(solveDiffEq)
In [35]:
solveDiffEqPlus = Eq(ySymP, Rational(1, 2) *( - 3 + sqrt(1 + 4 *sin(2*x))), evaluate = False)
display(solveDiffEqPlus)
In [36]:
solveDiffEqMinus = Eq(ySymM, Rational(1, 2) *( - 3 - sqrt(1 + 4 *sin(2*x))), evaluate = False)
display(solveDiffEqMinus)
In [37]:
checkSolnP = Eq(yP(0), Rational(1, 2) *( - 3 + sqrt(1 + 4 *sin(2*0))), evaluate = False)
display(checkSolnP)
In [38]:
checkSolnM = Eq(yM(0), Rational(1, 2) *( - 3 - sqrt(1 + 4 *sin(2*0))), evaluate = False)
display(checkSolnM)
In [39]:
Soln = Eq(y, Rational(1, 2) *( - 3 + sqrt(1 + 4 *sin(2*x))), evaluate = False)
display(Soln)
In [40]:
diffEq = Eq(p(x) * ySym + Derivative(ySym, x), g(x), evaluate = False)
display(diffEq)
In [41]:
IC = Eq(y(x_0), y_0)
display(IC)
In [42]:
solveDiffEq = Eq(mu(x)*(p(x) * ySym + Derivative(ySym, x)), mu(x) * g(x), evaluate = False)
display(solveDiffEq)
In [43]:
solveDiffEqLHS = Eq(mu(x)*(p(x) * ySym + Derivative(ySym, x)), Derivative(mu(x) * ySym, x), evaluate = False)
display(solveDiffEqLHS)
In [44]:
solveDiffEq = Eq(Derivative(mu(x) * ySym, x), mu(x) * g(x), evaluate = False)
display(solveDiffEq)
In [45]:
valOfMuAtX_0 = Eq(mu(x_0), mu_0)
valOfYAtX_0 = Eq(y(x_0), y_0)
display(valOfMuAtX_0)
display(valOfYAtX_0)
In [46]:
solveDiffEq = Eq(mu(x) * ySym - mu_0 * y_0 ,
Integral(mu(x) * g(x), (x, x_0, x)), evaluate = False)
display(solveDiffEq)
In [47]:
solveDiffEq = Eq(y,
(Integral(mu(x) * g(x), (x, x_0, x)) + mu_0 * y_0)/ mu(x),
evaluate = False)
display(solveDiffEq)
In [48]:
solveDiffEqLHS = Eq(mu(x)*p(x) * ySym + mu(x)*Derivative(ySym, x),
Derivative(mu(x) * y(x), x).doit().subs(y(x), ySym), evaluate = False)
display(solveDiffEqLHS)
In [49]:
solveDiffEqLHS = Eq(Derivative(mu(x), x),
p(x) * mu(x), evaluate = False)
display(solveDiffEqLHS)
In [50]:
valOfMu_X = Eq(mu(x), mu_0 * exp(Integral(p(x), (x, x_0, x))))
display(valOfMu_X)
In [53]:
soln = Eq(y,
(Integral(mu(x) * g(x), (x, x_0, x)) + mu_0 * y_0)/ mu(x),
evaluate = False)
display(soln)
In [58]:
diffEq = Eq(Derivative(y(x), x) + 2 * y(x) , exp(-x), evaluate = False)
display(diffEq)
In [55]:
IC = Eq(y(0), Rational(3, 4))
display(IC)
In [57]:
valOfMu_X = Eq(mu(x), exp(2*x))
display(valOfMu_X)
In [62]:
solveDiffEq = Eq(y, exp(-2*x) * (Rational(3, 4) + Integral(exp(2*x) * exp(-x), (x, 0, x))), evaluate = False)
display(solveDiffEq)
In [65]:
solveDiffEq = Eq(y, exp(-2*x) * (Rational(3, 4) + Integral(exp(2*x) * exp(-x), (x, 0, x))).doit(), evaluate = False)
display(solveDiffEq)
In [71]:
soln = Eq(y, exp(-x) * (1 - Rational(1, 4) * exp(x)), evaluate = False)
display(soln)
In [77]:
checkSoln = Eq(Eq(y(0), exp(-x) * (1 - Rational(1, 4) * exp(x))), Rational(3, 4), evaluate = False)
display(checkSoln)
In [ ]: