ParametricNDSolveValue
ParametricNDSolveValue[eqns,expr,{x,xmin,xmax},pars]
gives the value of expr with functions determined by a numerical solution to the ordinary differential equations eqns with the independent variable x in the range xmin to xmax with parameters pars.
ParametricNDSolveValue[eqns,expr,{x,xmin,xmax},{y,ymin,ymax},pars]
solves the partial differential equations eqns over a rectangular region.
ParametricNDSolveValue[eqns,expr,{x,y}∈Ω,pars]
solves the partial differential equations eqns over the region Ω.
ParametricNDSolveValue[eqns,expr,{t,tmin,tmax},{x,y}∈Ω,pars]
solves the time-dependent partial differential equations eqns over the region Ω.
Details and Options


- ParametricNDSolveValue gives results in terms of ParametricFunction objects.
- A specification for the parameters pars of {pspec1,pspec2,…} can be used to specify ranges.
- Possible forms for pspeci are:
-
p p has range Reals or Complexes Element[p,Reals] p has range Reals Element[p,Complexes] p has range Complexes Element[p,{v1,…}] p has discrete range {v1,…} {p,pmin,pmax} p has range - Typically expr will depend on the parameters indirectly, through the solution of the differential equations, but may depend explicitly on the parameters.
- Derivatives of the resulting ParametricFunction object with respect to the parameters are computed using a combination of symbolic and numerical sensitivity methods when possible.
- ParametricNDSolveValue takes the same options and settings as NDSolve.
- NDSolve and ParametricNDSolveValue typically solve differential equations by going through several different stages, depending on the type of equations. With Method->{s1->m1,s2->m2,…}, stage si is handled by method mi. The actual stages used and their order are determined by NDSolve, based on the problem to be solved.
- Possible solution stages are the same as for NDSolve, with the addition of:
-
"ParametricCaching" caching of computed solutions "ParametricSensitivity" computation of derivatives with respect to parameters -
AccuracyGoal Automatic digits of absolute accuracy sought Compiled Automatic whether expressions should be compiled automatically DependentVariables Automatic the list of all dependent variables EvaluationMonitor None expression to evaluate whenever the function is evaluated InitialSeeding {} seeding equations for some algorithms InterpolationOrder Automatic the continuity degree of the final output MaxStepFraction 1/10 maximum fraction of range to cover in each step MaxSteps Automatic maximum number of steps to take MaxStepSize Automatic maximum size of each step Method Automatic method to use NormFunction Automatic the norm to use for error estimation PrecisionGoal Automatic digits of precision sought StartingStepSize Automatic initial step size used StepMonitor None expression to evaluate when a step is taken WorkingPrecision MachinePrecision precision to use in internal computations
List of all options

Examples
open allclose allBasic Examples (3)
Get a parametric function of the parameter a for the value of y:
Evaluating with a numerical value of a gives an approximate function solution for y:
Plot the solutions for several different values of the parameter:
Get a function of the parameter a that gives the value of the function f at :
This plots the value as a function of the parameter a:
Use the function with FindRoot to find a root:
Show the sensitivity of the solution of a differential equation to parameters:
Scope (6)
Parameter Dependence (4)
ParametricNDSolveValue returns a ParametricFunction object:
Plot solutions for values of ranging from
to
:
Initial conditions can be specified as parameters:
Plot solutions with with
for values of
ranging from
to
:
Plot solutions with with
for values of
ranging from
to
:
Return a function of the solution :
Differential equation coefficients and boundary conditions can be specified as parameters:
Plot solutions with for values of
ranging from
to
and with
and
:
Parameter Sensitivity (2)
Solve the classical harmonic oscillator with parametric amplitude a:
Plot the solution for and several nearby values of
:
The sensitivity of with respect to
is by definition
. Plot the sensitivity at
:
Plot the sensitivity as a band around the solution
for
:
Sensitivity analysis of a differential equation with multiple parameters:
Plot the sensitivity with respect to the initial condition at
,
:
Plot the sensitivity with respect to the initial condition at
,
:
Generalizations & Extensions (2)
Solve ,
for various values of WorkingPrecision and plot the error:
Consider finding a solution to a highly nonlinear problem that NDSolveValue cannot solve directly. Set up a boundary condition, a region and the equation that depends on a parameter :
NDSolveValue cannot find a solution:


Set up an initial seeding function:
Create a ParametricNDSolveValue function based on the parameter :
Reset the seeding to use the solution from :
Options (2)
Method (2)
ParametricCaching (1)
Applications (14)
Parameter Sweeps (7)
Simulate bouncing balls being dropped from various heights:
Find an initial value for which the solution
of a differential equation will have
:
Compare to nearby values of the parameter s:
Find several solutions to the boundary value problem ,
,
. First consider several possible values for
:
Run a parameter sweep to determine nontrivial solution values of :
Using approximate initial values from the graph above:
Plot the solutions that were found:
Find all eigenvalues and eigenfunctions
for the classical harmonic oscillator
with
. Start by exploring the possible parameter values:
Find the first three eigenfunctions of the quantum harmonic oscillator ,
,
. Start by plotting solutions of
for
:
The roots are the approximate eigenvalues. Find the first three:
Plot the approximate eigenfunctions together with solutions for nearby :
These only differ from the exact eigenfunctions, the Hermite functions, by scaling factors:
Find the value of for which the solution of
,
has minimal arc length from
to
. Begin by plotting the solutions for values of
ranging from 0 to 1:
Plot versus the arc length of the solution:
The minimum arc length solution for seems to occur at
:
Find the local minimum, which appears near :
Plot the corresponding solution of (locally) minimal arc length together with some nearby solutions:
Simulate the response of an RLC circuit to a step in the voltage v1 at time :
Parameter Sensitivities (5)
Perturb a parameter in a differential equation and view several of the resulting perturbed solutions:
A plot of the solution with its sensitivity band is qualitatively similar:
Simulate an inverted pendulum stabilized by a base oscillating with frequency ω and amplitude a:
With ,
the pendulum is stabilized near an inverted position
, but the sensitivity increases:
Find the sensitivity of the Lorenz equations to a parameter:
Parametric dependence of the heat equation ,
:
Plot the corresponding sensitivity bands:
Indicate sensitivity to a and c by changing the color of the solution surface:
Parametric dependence of the wave equation ,
:
Plot the corresponding sensitivity bands:
Indicate sensitivity to a and c by changing the color of the solution surface:
Parameter Fitting (2)
Sample the solution of a differential equation and add noise:
Fit a trigonometric model to the noisy data:
A quadratic model is a better fit:
Find the parameters that make the solution of a differential equation the best fit to data:
Convert data to kelvins and find initial and final (ambient) temperatures:
Find solutions to Newton's law of cooling depending on parameters k1 and k2:
Fit the parameters in the differential equation to the given data:
Properties & Relations (3)
Use NDSolveValue to solve differential equations with parameters:
For a given parameter value, each function call takes roughly the same amount of time:
ParametricNDSolve caches the solution and subsequently reuses the cached solution values:
DSolve can solve some differential equations with parameters in closed form:
Use ParametricNDSolveValue to solve the example numerically:
The sensitivity is the same from both paths:
Use SystemModelParametricSimulate to simulate larger hierarchical system models:
Simulate with two sets of resistor and spring damper parameters:
Text
Wolfram Research (2012), ParametricNDSolveValue, Wolfram Language function, https://reference.wolfram.com/language/ref/ParametricNDSolveValue.html (updated 2014).
CMS
Wolfram Language. 2012. "ParametricNDSolveValue." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/ParametricNDSolveValue.html.
APA
Wolfram Language. (2012). ParametricNDSolveValue. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ParametricNDSolveValue.html