SolveODE Command

From GeoGebra Manual
Jump to: navigation, search


SolveODE( <f'(x, y)> )
Attempts to find the exact solution of the first order ordinary differential equation (ODE) \mathrm{\mathsf{ \frac{dy}{dx}(x)=f'(x, y(x)) }}.
Example: SolveODE(2x / y) yields \mathrm{\mathsf{ \sqrt{2} \sqrt{-c_{1}+x^{2}} }}, where \mathrm{\mathsf{ c_{1} }} is a constant.
Note: \mathrm{\mathsf{ c_{1} }} will be created as an auxiliary object with a corresponding slider.
SolveODE( <f'(x, y)>, <Point on f> )
Attempts to find the exact solution of the first order ODE \mathrm{\mathsf{ \frac{dy}{dx}(x)=f'(x, y(x)) }} and use the solution which goes through the given point.
Example: SolveODE(y / x, (1, 2)) yields y = 2x.
SolveODE( <f'(x, y)>, <Start x>, <Start y>, <End x>, <Step> )
Solves first order ODE \mathrm{\mathsf{ \frac{dy}{dx}=f'(x, y) }} numerically with given start point, end and step for x.
Example: SolveODE(-x*y, x(A), y(A), 5, 0.1) solves \mathrm{\mathsf{ \frac{dy}{dx}=-xy }} using previously defined A as a starting point.
Note:
  • Length( <Locus> ) allows you to find out how many points are in the computed locus.
  • First( <Locus>, <Number> ) allows you to extract the points as a list.
  • To find the "reverse" solution, just enter a negative value for End x, for example SolveODE(-x*y, x(A), y(A), -5, 0.1)
SolveODE( <y'>, <x'>, <Start x>, <Start y>, <End t>, <Step> )
Solves first order ODE \mathrm{\mathsf{ \frac{dy}{dx}=\frac{f(x, y)}{g(x, y)} }} with given start point, maximal value of an internal parameter t and step for t. This version of the command may work where the first one fails e.g. when the solution curve has vertical points.
Example: SolveODE(-x, y, x(A), y(A), 5, 0.1) solves \mathrm{\mathsf{ \frac{dy}{dx}=- \frac{x}{y} }} using previously defined A as a starting point.
Note: To find the "reverse" solution, just enter a negative value for End t, for example SolveODE(-x, y, x(A), y(A), -5, 0.1).
SolveODE( <b(x)>, <c(x)>, <f(x)>, <Start x>, <Start y>, <Start y'>, <End x>, <Step> )
Solves second order ODE \mathrm{\mathsf{ y'' + b(x) y' + c(x) y = f(x) }}.
Example: SolveODE(x^2, 2x, 2x^2 + x, x(A), y(A), 0, 5, 0.1) solves the second order ODE using previously defined A as a starting point.
Note: Always returns the result as locus. The algorithms are currently based on Runge-Kutta numeric methods.
Note: See also SlopeField command.

CAS Syntax

SolveODE( <Equation> )
Attempts to find the exact solution of the first or second order ODE. For first and second derivative of y you can use y' and y'' respectively.
Example: SolveODE(y' = y / x) yields y = c1 x.
SolveODE( <Equation>, <Point(s) on f> )
Attempts to find the exact solution of the given first or second order ODE which goes through the given point(s).
Example: SolveODE(y' = y / x, (1, 2)) yields y = 2x.
SolveODE( <Equation>, <Point(s) on f>, <Point(s) on f'> )
Attempts to find the exact solution of the given first or second order ODE and goes through the given point(s) on f and f' goes through the given point(s) on f' .
Example: SolveODE(y'' - 3y' + 2 = x, (2, 3), (1, 2)) yields \mathrm{\mathsf{ y = \frac{-9 x^2 e^3 + 30 x e^3 - 32 {(e^3)}^2 + 138 e^3 + 32 e^{3 x} }{54 e^3} }}.
SolveODE( <Equation>, <Dependent Variable>, <Independent Variable>, <Point(s) on f> )
Attempts to find the exact solution of the given first or second order ODE which goes through the given point(s).
Example: SolveODE(v' = v / w, v, w, (1, 2)) yields v = 2w.
SolveODE( <Equation>, <Dependent Variable>, <Independent Variable>, <Point(s) on f>, <Point(s) on f'> )
Attempts to find the exact solution of the given first or second order ODE which goes through the given point(s) on f and f' goes through the given point(s) on f' .
Example: SolveODE(v' = v / w, v, w, (1, 2), (0, 2)) yields v = 2w.


Note: For compatibility with input bar, if the first parameter is just an expression without y' or y'', it is supposed to be right hand side of ODE with left hand side y'.
© 2018 International GeoGebra Institute