# diffEqu

## 3657 days ago by calcpage123

var('t') de = lambda x : diff(x,t)+x-1 show(de(sin(t))) show(de(exp(t))) show(de(t^2)) show(de(-t)) show(de(exp(-t))) show(de(1))
 \newcommand{\Bold}{\mathbf{#1}}\sin\left(t\right) + \cos\left(t\right) - 1 \newcommand{\Bold}{\mathbf{#1}}2 \, e^{t} - 1 \newcommand{\Bold}{\mathbf{#1}}t^{2} + 2 \, t - 1 \newcommand{\Bold}{\mathbf{#1}}-t - 2 \newcommand{\Bold}{\mathbf{#1}}-1 \newcommand{\Bold}{\mathbf{#1}}0 \newcommand{\Bold}{\mathbf{#1}}\sin\left(t\right) + \cos\left(t\right) - 1 \newcommand{\Bold}{\mathbf{#1}}2 \, e^{t} - 1 \newcommand{\Bold}{\mathbf{#1}}t^{2} + 2 \, t - 1 \newcommand{\Bold}{\mathbf{#1}}-t - 2 \newcommand{\Bold}{\mathbf{#1}}-1 \newcommand{\Bold}{\mathbf{#1}}0
x = var('x') y = function('y', x) desolve(diff(y,x) + y - 1, y)
 (c + e^x)*e^(-x) (c + e^x)*e^(-x)
x = var('x') y = function('y', x) desolve(diff(y,x) + y - 1, y, ics=[10,2])
 (e^10 + e^x)*e^(-x) (e^10 + e^x)*e^(-x)
x = var('x') y = function('y', x) f=desolve(diff(y,x) + y - 1, y, ics=[10,2]) plot(f)  desolve?
 File: /usr/local/sage/local/lib/python2.6/site-packages/sage/calculus/desolvers.py Type: Definition: desolve(de, dvar, ics=None, ivar=None, show_method=False, contrib_ode=False) Docstring: Solves a 1st or 2nd order linear ODE via maxima. Including IVP and BVP. Use desolve? if the output in truncated in notebook. INPUT: de - an expression or equation representing the ODE dvar - the dependent variable (hereafter called y) ics - (optional) the initial or boundary conditions for a first-order equation, specify the initial x and y for a second-order equation, specify the initial x, y, and dy/dx, i.e. write [x_0, y(x_0), y'(x_0)] for a second-order boundary solution, specify initial and final x and y boundary conditions, i.e. write [x_0, y(x_0), x_1, y(x_1)]. gives an error if the solution is not SymbolicEquation (as happens for example for Clairaut equation) ivar - (optional) the independent variable (hereafter called x), which must be specified if there is more than one independent variable in the equation. show_method - (optional) if true, then Sage returns pair [solution, method], where method is the string describing method which has been used to get solution (Maxima uses the following order for first order equations: linear, separable, exact (including exact with integrating factor), homogeneous, bernoulli, generalized homogeneous) - use carefully in class, see below for the example of the equation which is separable but this property is not recognized by Maxima and equation is solved as exact. contrib_ode - (optional) if true, desolve allows to solve clairaut, lagrange, riccati and some other equations. May take a long time and thus turned off by default. Initial conditions can be used only if the result is one SymbolicEquation (does not contain singular solution, for example) OUTPUT: In most cases returns SymbolicEquation which defines the solution implicitly. If the result is in the form y(x)=... (happens for linear eqs.), returns the right-hand side only. The possible constant solutions of separable ODE’s are omitted. EXAMPLES: sage: x = var('x') sage: y = function('y', x) sage: desolve(diff(y,x) + y - 1, y) (c + e^x)*e^(-x)  sage: f = desolve(diff(y,x) + y - 1, y, ics=[10,2]); f (e^10 + e^x)*e^(-x)  sage: plot(f)  We can also solve second-order differential equations.: sage: x = var('x') sage: y = function('y', x) sage: de = diff(y,x,2) - y == x sage: desolve(de, y) k1*e^x + k2*e^(-x) - x  sage: f = desolve(de, y, [10,2,1]); f -x + 5*e^(-x + 10) + 7*e^(x - 10)  sage: f(x=10) 2  sage: diff(f,x)(x=10) 1  sage: de = diff(y,x,2) + y == 0 sage: desolve(de, y) k1*sin(x) + k2*cos(x)  sage: desolve(de, y, [0,1,pi/2,4]) 4*sin(x) + cos(x)  sage: desolve(y*diff(y,x)+sin(x)==0,y) -1/2*y(x)^2 == c - cos(x)  Clairot equation: general and singular solutions: sage: desolve(diff(y,x)^2+x*diff(y,x)-y==0,y,contrib_ode=True,show_method=True) [[y(x) == c^2 + c*x, y(x) == -1/4*x^2], 'clairault']  For equations involving more variables we specify independent variable: sage: a,b,c,n=var('a b c n') sage: desolve(x^2*diff(y,x)==a+b*x^n+c*x^2*y^2,y,ivar=x,contrib_ode=True) [[y(x) == 0, (b*x^(n - 2) + a/x^2)*c^2*u == 0]]  sage: desolve(x^2*diff(y,x)==a+b*x^n+c*x^2*y^2,y,ivar=x,contrib_ode=True,show_method=True) [[[y(x) == 0, (b*x^(n - 2) + a/x^2)*c^2*u == 0]], 'riccati']  Higher orded, not involving independent variable: sage: desolve(diff(y,x,2)+y*(diff(y,x,1))^3==0,y).expand() 1/6*y(x)^3 + k1*y(x) == k2 + x  sage: desolve(diff(y,x,2)+y*(diff(y,x,1))^3==0,y,[0,1,1,3]).expand() 1/6*y(x)^3 - 5/3*y(x) == x - 3/2  sage: desolve(diff(y,x,2)+y*(diff(y,x,1))^3==0,y,[0,1,1,3],show_method=True) [1/6*y(x)^3 - 5/3*y(x) == x - 3/2, 'freeofx']  Separable equations - Sage returns solution in implicit form: sage: desolve(diff(y,x)*sin(y) == cos(x),y) -cos(y(x)) == c + sin(x)  sage: desolve(diff(y,x)*sin(y) == cos(x),y,show_method=True) [-cos(y(x)) == c + sin(x), 'separable']  sage: desolve(diff(y,x)*sin(y) == cos(x),y,[pi/2,1]) -cos(y(x)) == sin(x) - cos(1) - 1  Linear equation - Sage returns the expression on the right hand side only: sage: desolve(diff(y,x)+(y) == cos(x),y) 1/2*((sin(x) + cos(x))*e^x + 2*c)*e^(-x)  sage: desolve(diff(y,x)+(y) == cos(x),y,show_method=True) [1/2*((sin(x) + cos(x))*e^x + 2*c)*e^(-x), 'linear']  sage: desolve(diff(y,x)+(y) == cos(x),y,[0,1]) 1/2*(e^x*sin(x) + e^x*cos(x) + 1)*e^(-x)  This ODE with separated variables is solved as exact. Explanation - factor does not split e^{x-y} in Maxima into e^{x}e^{y}: sage: desolve(diff(y,x)==exp(x-y),y,show_method=True) [-e^x + e^y(x) == c, 'exact']  You can solve Bessel equations. You can also use initial conditions, but you cannot put (sometimes desired) initial condition at x=0, since this point is singlar point of the equation. Anyway, if the solution should be bounded at x=0, then k2=0.: sage: desolve(x^2*diff(y,x,x)+x*diff(y,x)+(x^2-4)*y==0,y) k1*bessel_j(2, x) + k2*bessel_y(2, x)  Difficult ODE produces error: sage: desolve(sqrt(y)*diff(y,x)+e^(y)+cos(x)-sin(x+y)==0,y) # not tested Traceback (click to the left for traceback) ... NotImplementedError, "Maxima was unable to solve this ODE. Consider to set option contrib_ode to True."  Difficult ODE produces error - moreover, takes a long time sage: desolve(sqrt(y)*diff(y,x)+e^(y)+cos(x)-sin(x+y)==0,y,contrib_ode=True) # not tested  Some more types od ODE’s: sage: desolve(x*diff(y,x)^2-(1+x*y)*diff(y,x)+y==0,y,contrib_ode=True,show_method=True) [[y(x) == c + log(x), y(x) == c*e^x], 'factor']  sage: desolve(diff(y,x)==(x+y)^2,y,contrib_ode=True,show_method=True) [[[x == c - arctan(sqrt(t)), y(x) == -x - sqrt(t)], [x == c + arctan(sqrt(t)), y(x) == -x + sqrt(t)]], 'lagrange']  These two examples produce error (as expected, Maxima 5.18 cannot solve equations from initial conditions). Current Maxima 5.18 returns false answer in this case!: sage: desolve(diff(y,x,2)+y*(diff(y,x,1))^3==0,y,[0,1,2]).expand() # not tested Traceback (click to the left for traceback) ... NotImplementedError, "Maxima was unable to solve this ODE. Consider to set option contrib_ode to True."  sage: desolve(diff(y,x,2)+y*(diff(y,x,1))^3==0,y,[0,1,2],show_method=True) # not tested Traceback (click to the left for traceback) ... NotImplementedError, "Maxima was unable to solve this ODE. Consider to set option contrib_ode to True."  Second order linear ODE: sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y) (k2*x + k1)*e^(-x) + 1/2*sin(x)  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y,show_method=True) [(k2*x + k1)*e^(-x) + 1/2*sin(x), 'variationofparameters']  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y,[0,3,1]) 1/2*(7*x + 6)*e^(-x) + 1/2*sin(x)  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y,[0,3,1],show_method=True) [1/2*(7*x + 6)*e^(-x) + 1/2*sin(x), 'variationofparameters']  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y,[0,3,pi/2,2]) 3*((e^(1/2*pi) - 2)*x/pi + 1)*e^(-x) + 1/2*sin(x)  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y,[0,3,pi/2,2],show_method=True) [3*((e^(1/2*pi) - 2)*x/pi + 1)*e^(-x) + 1/2*sin(x), 'variationofparameters']  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y) (k2*x + k1)*e^(-x)  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y,show_method=True) [(k2*x + k1)*e^(-x), 'constcoeff']  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y,[0,3,1]) (4*x + 3)*e^(-x)  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y,[0,3,1],show_method=True) [(4*x + 3)*e^(-x), 'constcoeff']  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y,[0,3,pi/2,2]) (2*(2*e^(1/2*pi) - 3)*x/pi + 3)*e^(-x)  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y,[0,3,pi/2,2],show_method=True) [(2*(2*e^(1/2*pi) - 3)*x/pi + 3)*e^(-x), 'constcoeff']  TESTS: Trac #9961 fixed (allow assumptions on the dependent variable in desolve): sage: y=function('y',x); assume(x>0); assume(y>0) sage: desolve(x*diff(y,x)-x*sqrt(y^2+x^2)-y == 0, y, contrib_ode=True) [x - arcsinh(y(x)/x) == c]  Trac #6479 fixed: sage: x = var('x') sage: y = function('y', x) sage: desolve( diff(y,x,x) == 0, y, [0,0,1]) x  sage: desolve( diff(y,x,x) == 0, y, [0,1,1]) x + 1  Trac #9835 fixed: sage: x = var('x') sage: y = function('y', x) sage: desolve(diff(y,x,2)+y*(1-y^2)==0,y,[0,-1,1,1]) Traceback (click to the left of this block for traceback) ...  File: /usr/local/sage/local/lib/python2.6/site-packages/sage/calculus/desolvers.py Type: Definition: desolve(de, dvar, ics=None, ivar=None, show_method=False, contrib_ode=False) Docstring: Solves a 1st or 2nd order linear ODE via maxima. Including IVP and BVP. Use desolve? if the output in truncated in notebook. INPUT: de - an expression or equation representing the ODE dvar - the dependent variable (hereafter called y) ics - (optional) the initial or boundary conditions for a first-order equation, specify the initial x and y for a second-order equation, specify the initial x, y, and dy/dx, i.e. write [x_0, y(x_0), y'(x_0)] for a second-order boundary solution, specify initial and final x and y boundary conditions, i.e. write [x_0, y(x_0), x_1, y(x_1)]. gives an error if the solution is not SymbolicEquation (as happens for example for Clairaut equation) ivar - (optional) the independent variable (hereafter called x), which must be specified if there is more than one independent variable in the equation. show_method - (optional) if true, then Sage returns pair [solution, method], where method is the string describing method which has been used to get solution (Maxima uses the following order for first order equations: linear, separable, exact (including exact with integrating factor), homogeneous, bernoulli, generalized homogeneous) - use carefully in class, see below for the example of the equation which is separable but this property is not recognized by Maxima and equation is solved as exact. contrib_ode - (optional) if true, desolve allows to solve clairaut, lagrange, riccati and some other equations. May take a long time and thus turned off by default. Initial conditions can be used only if the result is one SymbolicEquation (does not contain singular solution, for example) OUTPUT: In most cases returns SymbolicEquation which defines the solution implicitly. If the result is in the form y(x)=... (happens for linear eqs.), returns the right-hand side only. The possible constant solutions of separable ODE’s are omitted. EXAMPLES: sage: x = var('x') sage: y = function('y', x) sage: desolve(diff(y,x) + y - 1, y) (c + e^x)*e^(-x)  sage: f = desolve(diff(y,x) + y - 1, y, ics=[10,2]); f (e^10 + e^x)*e^(-x)  sage: plot(f)  We can also solve second-order differential equations.: sage: x = var('x') sage: y = function('y', x) sage: de = diff(y,x,2) - y == x sage: desolve(de, y) k1*e^x + k2*e^(-x) - x  sage: f = desolve(de, y, [10,2,1]); f -x + 5*e^(-x + 10) + 7*e^(x - 10)  sage: f(x=10) 2  sage: diff(f,x)(x=10) 1  sage: de = diff(y,x,2) + y == 0 sage: desolve(de, y) k1*sin(x) + k2*cos(x)  sage: desolve(de, y, [0,1,pi/2,4]) 4*sin(x) + cos(x)  sage: desolve(y*diff(y,x)+sin(x)==0,y) -1/2*y(x)^2 == c - cos(x)  Clairot equation: general and singular solutions: sage: desolve(diff(y,x)^2+x*diff(y,x)-y==0,y,contrib_ode=True,show_method=True) [[y(x) == c^2 + c*x, y(x) == -1/4*x^2], 'clairault']  For equations involving more variables we specify independent variable: sage: a,b,c,n=var('a b c n') sage: desolve(x^2*diff(y,x)==a+b*x^n+c*x^2*y^2,y,ivar=x,contrib_ode=True) [[y(x) == 0, (b*x^(n - 2) + a/x^2)*c^2*u == 0]]  sage: desolve(x^2*diff(y,x)==a+b*x^n+c*x^2*y^2,y,ivar=x,contrib_ode=True,show_method=True) [[[y(x) == 0, (b*x^(n - 2) + a/x^2)*c^2*u == 0]], 'riccati']  Higher orded, not involving independent variable: sage: desolve(diff(y,x,2)+y*(diff(y,x,1))^3==0,y).expand() 1/6*y(x)^3 + k1*y(x) == k2 + x  sage: desolve(diff(y,x,2)+y*(diff(y,x,1))^3==0,y,[0,1,1,3]).expand() 1/6*y(x)^3 - 5/3*y(x) == x - 3/2  sage: desolve(diff(y,x,2)+y*(diff(y,x,1))^3==0,y,[0,1,1,3],show_method=True) [1/6*y(x)^3 - 5/3*y(x) == x - 3/2, 'freeofx']  Separable equations - Sage returns solution in implicit form: sage: desolve(diff(y,x)*sin(y) == cos(x),y) -cos(y(x)) == c + sin(x)  sage: desolve(diff(y,x)*sin(y) == cos(x),y,show_method=True) [-cos(y(x)) == c + sin(x), 'separable']  sage: desolve(diff(y,x)*sin(y) == cos(x),y,[pi/2,1]) -cos(y(x)) == sin(x) - cos(1) - 1  Linear equation - Sage returns the expression on the right hand side only: sage: desolve(diff(y,x)+(y) == cos(x),y) 1/2*((sin(x) + cos(x))*e^x + 2*c)*e^(-x)  sage: desolve(diff(y,x)+(y) == cos(x),y,show_method=True) [1/2*((sin(x) + cos(x))*e^x + 2*c)*e^(-x), 'linear']  sage: desolve(diff(y,x)+(y) == cos(x),y,[0,1]) 1/2*(e^x*sin(x) + e^x*cos(x) + 1)*e^(-x)  This ODE with separated variables is solved as exact. Explanation - factor does not split e^{x-y} in Maxima into e^{x}e^{y}: sage: desolve(diff(y,x)==exp(x-y),y,show_method=True) [-e^x + e^y(x) == c, 'exact']  You can solve Bessel equations. You can also use initial conditions, but you cannot put (sometimes desired) initial condition at x=0, since this point is singlar point of the equation. Anyway, if the solution should be bounded at x=0, then k2=0.: sage: desolve(x^2*diff(y,x,x)+x*diff(y,x)+(x^2-4)*y==0,y) k1*bessel_j(2, x) + k2*bessel_y(2, x)  Difficult ODE produces error: sage: desolve(sqrt(y)*diff(y,x)+e^(y)+cos(x)-sin(x+y)==0,y) # not tested Traceback (click to the left for traceback) ... NotImplementedError, "Maxima was unable to solve this ODE. Consider to set option contrib_ode to True."  Difficult ODE produces error - moreover, takes a long time sage: desolve(sqrt(y)*diff(y,x)+e^(y)+cos(x)-sin(x+y)==0,y,contrib_ode=True) # not tested  Some more types od ODE’s: sage: desolve(x*diff(y,x)^2-(1+x*y)*diff(y,x)+y==0,y,contrib_ode=True,show_method=True) [[y(x) == c + log(x), y(x) == c*e^x], 'factor']  sage: desolve(diff(y,x)==(x+y)^2,y,contrib_ode=True,show_method=True) [[[x == c - arctan(sqrt(t)), y(x) == -x - sqrt(t)], [x == c + arctan(sqrt(t)), y(x) == -x + sqrt(t)]], 'lagrange']  These two examples produce error (as expected, Maxima 5.18 cannot solve equations from initial conditions). Current Maxima 5.18 returns false answer in this case!: sage: desolve(diff(y,x,2)+y*(diff(y,x,1))^3==0,y,[0,1,2]).expand() # not tested Traceback (click to the left for traceback) ... NotImplementedError, "Maxima was unable to solve this ODE. Consider to set option contrib_ode to True."  sage: desolve(diff(y,x,2)+y*(diff(y,x,1))^3==0,y,[0,1,2],show_method=True) # not tested Traceback (click to the left for traceback) ... NotImplementedError, "Maxima was unable to solve this ODE. Consider to set option contrib_ode to True."  Second order linear ODE: sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y) (k2*x + k1)*e^(-x) + 1/2*sin(x)  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y,show_method=True) [(k2*x + k1)*e^(-x) + 1/2*sin(x), 'variationofparameters']  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y,[0,3,1]) 1/2*(7*x + 6)*e^(-x) + 1/2*sin(x)  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y,[0,3,1],show_method=True) [1/2*(7*x + 6)*e^(-x) + 1/2*sin(x), 'variationofparameters']  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y,[0,3,pi/2,2]) 3*((e^(1/2*pi) - 2)*x/pi + 1)*e^(-x) + 1/2*sin(x)  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y,[0,3,pi/2,2],show_method=True) [3*((e^(1/2*pi) - 2)*x/pi + 1)*e^(-x) + 1/2*sin(x), 'variationofparameters']  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y) (k2*x + k1)*e^(-x)  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y,show_method=True) [(k2*x + k1)*e^(-x), 'constcoeff']  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y,[0,3,1]) (4*x + 3)*e^(-x)  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y,[0,3,1],show_method=True) [(4*x + 3)*e^(-x), 'constcoeff']  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y,[0,3,pi/2,2]) (2*(2*e^(1/2*pi) - 3)*x/pi + 3)*e^(-x)  sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y,[0,3,pi/2,2],show_method=True) [(2*(2*e^(1/2*pi) - 3)*x/pi + 3)*e^(-x), 'constcoeff']  TESTS: Trac #9961 fixed (allow assumptions on the dependent variable in desolve): sage: y=function('y',x); assume(x>0); assume(y>0) sage: desolve(x*diff(y,x)-x*sqrt(y^2+x^2)-y == 0, y, contrib_ode=True) [x - arcsinh(y(x)/x) == c]  Trac #6479 fixed: sage: x = var('x') sage: y = function('y', x) sage: desolve( diff(y,x,x) == 0, y, [0,0,1]) x  sage: desolve( diff(y,x,x) == 0, y, [0,1,1]) x + 1  Trac #9835 fixed: sage: x = var('x') sage: y = function('y', x) sage: desolve(diff(y,x,2)+y*(1-y^2)==0,y,[0,-1,1,1]) Traceback (most recent call last): ... NotImplementedError: Unable to use initial condition for this equation (freeofx).  Trac #8931 fixed: sage: x=var('x'); f=function('f',x); k=var('k'); assume(k>0) sage: desolve(diff(f,x,2)/f==k,f,ivar=x) k1*e^(sqrt(k)*x) + k2*e^(-sqrt(k)*x)  AUTHORS: David Joyner (1-2006) Robert Bradshaw (10-2008) Robert Marik (10-2009)
x = var('x') y = function('y', x) show(desolve(diff(y,x) + y, y))
 \newcommand{\Bold}{\mathbf{#1}}c e^{\left(-x\right)} \newcommand{\Bold}{\mathbf{#1}}c e^{\left(-x\right)}
x = var('x') y = function('y', x) show(desolve(diff(y,x) + y, y, ics=[0,2]))
 \newcommand{\Bold}{\mathbf{#1}}2 \, e^{\left(-x\right)} \newcommand{\Bold}{\mathbf{#1}}2 \, e^{\left(-x\right)}
x = var('x') y = function('y', x) f=desolve(diff(y,x) + y, y, ics=[0,2]) show(f) plot(f)
 \newcommand{\Bold}{\mathbf{#1}}2 \, e^{\left(-x\right)} \newcommand{\Bold}{\mathbf{#1}}2 \, e^{\left(-x\right)} t = var('t') x = function('y', t) f=desolve(diff(x,t) - x, x, ics=[0,-1]) show(f) plot(f)
 \newcommand{\Bold}{\mathbf{#1}}-e^{t} \newcommand{\Bold}{\mathbf{#1}}-e^{t} x = function('x', t) f=desolve(diff(x,t,2)+2*diff(x,t)+2*x,x) show(f)
 \newcommand{\Bold}{\mathbf{#1}}{\left(k_{1} \sin\left(t\right) + k_{2} \cos\left(t\right)\right)} e^{\left(-t\right)} \newcommand{\Bold}{\mathbf{#1}}{\left(k_{1} \sin\left(t\right) + k_{2} \cos\left(t\right)\right)} e^{\left(-t\right)}
f=desolve(diff(x,t,2)+2*diff(x,t)+2*x,x,[0,2,0]) show(f) plot(f,0,10)
 \newcommand{\Bold}{\mathbf{#1}}2 \, {\left(\sin\left(t\right) + \cos\left(t\right)\right)} e^{\left(-t\right)} \newcommand{\Bold}{\mathbf{#1}}2 \, {\left(\sin\left(t\right) + \cos\left(t\right)\right)} e^{\left(-t\right)} solve(r^2+2*r+2==0,r)
 [r == (-I - 1), r == (I - 1)] [r == (-I - 1), r == (I - 1)]
f=desolve(diff(x,t,2)+4*x,x) show(f)
 \newcommand{\Bold}{\mathbf{#1}}k_{1} \sin\left(2 \, t\right) + k_{2} \cos\left(2 \, t\right) \newcommand{\Bold}{\mathbf{#1}}k_{1} \sin\left(2 \, t\right) + k_{2} \cos\left(2 \, t\right)
f=desolve(diff(x,t,2)+4*x,x,[0,2,1]) show(f) plot(f,0,10)
 \newcommand{\Bold}{\mathbf{#1}}\frac{1}{2} \, \sin\left(2 \, t\right) + 2 \, \cos\left(2 \, t\right) \newcommand{\Bold}{\mathbf{#1}}\frac{1}{2} \, \sin\left(2 \, t\right) + 2 \, \cos\left(2 \, t\right) solve(r^2+4==0,r)
 [r == (-2*I), r == (2*I)] [r == (-2*I), r == (2*I)]
f=desolve(diff(x,t,2)+3*diff(x,t)+2*x,x) show(f)
 \newcommand{\Bold}{\mathbf{#1}}k_{1} e^{\left(-t\right)} + k_{2} e^{\left(-2 \, t\right)} \newcommand{\Bold}{\mathbf{#1}}k_{1} e^{\left(-t\right)} + k_{2} e^{\left(-2 \, t\right)}
f=desolve(diff(x,t,2)+3*diff(x,t)+2*x,x,[0,-0.5,3]) show(f) plot(f,0,10)
 \newcommand{\Bold}{\mathbf{#1}}-\frac{5}{2} \, e^{\left(-2 \, t\right)} + 2 \, e^{\left(-t\right)} \newcommand{\Bold}{\mathbf{#1}}-\frac{5}{2} \, e^{\left(-2 \, t\right)} + 2 \, e^{\left(-t\right)} var('r') solve(r^2+3*r+2==0,r)
 [r == -2, r == -1] [r == -2, r == -1]
f=desolve(diff(x,t,2)+9.8,x) show(f)
 \newcommand{\Bold}{\mathbf{#1}}k_{2} t - \frac{49}{10} \, t^{2} + k_{1} \newcommand{\Bold}{\mathbf{#1}}k_{2} t - \frac{49}{10} \, t^{2} + k_{1}
f=desolve(diff(x,t,2)+10,x,[0,10,100]) show(f) plot(f,0,22)
 \newcommand{\Bold}{\mathbf{#1}}-5 \, t^{2} + 100 \, t + 10 \newcommand{\Bold}{\mathbf{#1}}-5 \, t^{2} + 100 \, t + 10 