Difference between revisions of "SolveODE Command"

From GeoGebra Manual
Jump to: navigation, search
Line 2: Line 2:
 
{{command|function}}
 
{{command|function}}
 
; SolveODE[ <f'(x,y)>, <Start x>, <Start y>, <End x>, <Step> ]
 
; SolveODE[ <f'(x,y)>, <Start x>, <Start y>, <End x>, <Step> ]
:Solves first order ordinary differential equations (ODE)
+
:Solves first order ordinary differential equations (ODE) <math>\frac{dy}{dx}=f'(x,y) </math> numerically given start point and end & step for ''x''.
\begin{equation}\frac{dy}{dx}=f'(x,y) \end{equation}
+
:For example to solve <math>\frac{dy}{dx}=-xy</math>  using ''A'' as a starting point, enter SolveOde[-x*y, x(A), y(A), 5, 0.1]
numerically given start point and end & step for ''x''.
 
For example to solve
 
\begin{equation} \frac{dy}{dx}=-xy \end{equation}
 
using ''A'' as a starting point, enter SolveOde[-x*y, x(A), y(A), 5, 0.1]
 
  
 
{{Note|[[Length Command|Length]][ <Locus> ] allows you to find out how many points are in the computed locus and [[First Command|First]][ <Locus>, <Number> ] allows you to extract the points as a list, for example
 
{{Note|[[Length Command|Length]][ <Locus> ] allows you to find out how many points are in the computed locus and [[First Command|First]][ <Locus>, <Number> ] allows you to extract the points as a list, for example
First[ loc1, Length[ loc1 ] ]
+
First[loc1, Length[loc1]] }}
}}
 
  
 
; SolveODE[ <f(x,y)>, <g(x,y)>, <Start x>, <Start y>, <End t>, <Step> ]
 
; SolveODE[ <f(x,y)>, <g(x,y)>, <Start x>, <Start y>, <End t>, <Step> ]
:Solves first order ODE
+
:Solves first order ODE <math>\frac{dy}{dx}=\frac{f(x,y)}{g(x,y)} </math> 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 eg when the solution curve has vertical points.
\begin{equation} \frac{dy}{dx}=\frac{f(x,y)}{g(x,y)} \end{equation}
+
:For example to solve <math>\frac{dy}{dx}=- \frac{x}{y} </math> using ''A'' as a starting point, enter SolveOde[-x, y, x(A), y(A), 5, 0.1]
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 eg when the solution curve has vertical points.
 
For example to solve
 
\begin{equation}\frac{dy}{dx}=- \frac{x}{y} \end{equation}
 
using ''A'' as a starting point, enter SolveOde[-x, y, x(A), y(A), 5, 0.1]
 
 
;SolveODE[ &lt;b(x)>, &lt;c(x)>, &lt;f(x)>, &lt;Start x>, &lt;Start y>, &lt;Start y'>, &lt;End x>, &lt;Step>]
 
;SolveODE[ &lt;b(x)>, &lt;c(x)>, &lt;f(x)>, &lt;Start x>, &lt;Start y>, &lt;Start y'>, &lt;End x>, &lt;Step>]
:Solves second order ODE
+
:Solves second order ODE <math>y''+b(x)y'+c(x)y=f(x)</math>.
\begin{equation}y''+b(x)y'+c(x)y=f(x)\end{equation}
 
  
 
{{Note|Always returns the result as locus. The algorithms are based on Runge-Kutta numeric methods.}}
 
{{Note|Always returns the result as locus. The algorithms are based on Runge-Kutta numeric methods.}}
  
 
==CAS Syntax==
 
==CAS Syntax==
Following two syntaxes work only in [[CAS View]] and '''only with [[Maxima]] as CAS'''.
+
Following two syntaxes work only in [[CAS View]].
 
; SolveODE(<f(x,y)>)  
 
; SolveODE(<f(x,y)>)  
:Attempts to find the exact solution of the first order ODE
+
:Attempts to find the exact solution of the first order ODE <math>\frac{dy}{dx}=f(x,y)</math>.
\begin{equation} \frac{dy}{dx}=f(x,y) \end{equation}
 
  
 
; SolveODE(<f( var1, var2)>, <var1>, <var2>)  
 
; SolveODE(<f( var1, var2)>, <var1>, <var2>)  
:As above, but function ''f'' can be in variables other than x & y
+
:Attempts to find the exact solution of the first order ODE <math>\frac{dvar1}{dvar2}=f(var1,var2)</math>.

Revision as of 09:59, 25 August 2011



SolveODE[ <f'(x,y)>, <Start x>, <Start y>, <End x>, <Step> ]
Solves first order ordinary differential equations (ODE) \frac{dy}{dx}=f'(x,y) numerically given start point and end & step for x.
For example to solve \frac{dy}{dx}=-xy using A as a starting point, enter SolveOde[-x*y, x(A), y(A), 5, 0.1]
Note: Length[ <Locus> ] allows you to find out how many points are in the computed locus and First[ <Locus>, <Number> ] allows you to extract the points as a list, for example First[loc1, Length[loc1]]
SolveODE[ <f(x,y)>, <g(x,y)>, <Start x>, <Start y>, <End t>, <Step> ]
Solves first order ODE \frac{dy}{dx}=\frac{f(x,y)}{g(x,y)} 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 eg when the solution curve has vertical points.
For example to solve \frac{dy}{dx}=- \frac{x}{y} using A as a starting point, enter 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).
Note: Always returns the result as locus. The algorithms are based on Runge-Kutta numeric methods.

CAS Syntax

Following two syntaxes work only in CAS View.

SolveODE(<f(x,y)>)
Attempts to find the exact solution of the first order ODE \frac{dy}{dx}=f(x,y).
SolveODE(<f( var1, var2)>, <var1>, <var2>)
Attempts to find the exact solution of the first order ODE \frac{dvar1}{dvar2}=f(var1,var2).
© 2021 International GeoGebra Institute