# SolveODE Command

From GeoGebra Manual

- SolveODE( <f'(x, y)> )
- Attempts to find the exact solution of the first order ordinary differential equation (ODE) \frac{dy}{dx}(x)=f'(x, y(x)).
**Example:**`SolveODE(2x / y)`

yields*\sqrt{2} \sqrt{-c_{1}+x^{2}}*, where c_{1} is a constant.

**Note:**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 \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 \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 \frac{dy}{dx}=-xy using previously defined*A*as a starting point.

- SolveODE( <y'>, <x'>, <Start x>, <Start y>, <End t>, <Step> )
- Solves first order ODE \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 \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 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 = c*._{1}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 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'*.