({{, (RefLink[Method, paclet:ref/Method]) 
is an option for various algorithm-intensive functions that specifies what internal methods they should use.}})

OpenersNotesSection(Spacer1)Details

Typical settings include:

With the default setting (RefLink[Method, paclet:ref/Method])->(RefLink[Automatic, paclet:ref/Automatic]), the Wolfram Language will automatically try to pick the best method for a particular computation.

OpenersPrimaryExamplesSection(Spacer1)Examples  (6)

OpenersExampleSection0(Spacer1)Basic Examples  (2)

Find a nonlinear fit for exponential decay using a quasi-Newton method:

data={{1.0,12.},{1.9,10.},{2.6,8.2},{3.4,6.9},{5.0,5.9}};

model=a Exp[-k t];

fit=FindFit[data,model,{a,k},t, Method->"QuasiNewton"]

Solve a differential equation using an explicit Runge–Kutta method:

NDSolve[{x''[t] + (2 + Sin[x[t]]) x[t] == 0, x[0]==1,x'[0]==0},x,{t,0,10}, Method->"ExplicitRungeKutta"]

Plot the solution and its derivative:

Plot[Evaluate[First[{x[t],x'[t]} /. %]],{t,0,10}]

OpenersExampleSection1(Spacer1)Scope  (4)

Find a root in two dimensions using Newton's method with a trust-region step control:

FindRoot[{x-1,10(y-x^2)},{{x,-1},{y,1}},Method->{"Newton","StepControl"->"TrustRegion"}]

This takes fewer evaluations than the default step control for this problem:

Block[{e = 0},FindRoot[{x-1,10(y-x^2)},{{x,-1},{y,1}},Method->{"Newton","StepControl"->"TrustRegion"},EvaluationMonitor:>e++];e]

Block[{e = 0},FindRoot[{x-1,10(y-x^2)},{{x,-1},{y,1}},Method->"Newton",EvaluationMonitor:>e++];e]

Number of steps and evaluations for an ODE using Runge–Kutta methods of various order:

TableForm[Table[Block[{e=0,s=0},NDSolve[{x''[t] + (2 + Sin[x[t]]) x[t] == 0, x[0]==1,x'[0]==0},x,{t,0,10}, Method->{"ExplicitRungeKutta","DifferenceOrder"->do},EvaluationMonitor:>e++,StepMonitor:>s++];{do,s,e}],{do,{Automatic, 3,4,5,6,7,8,9}}],TableHeadings->{{},{"Difference Order", "Steps", "Evaluations"}}]

Use of event location method using a backward differentiation formula base method:

NDSolve[{x''[t]+Sin[x[t]]==0,x[0]==3,x'[0]==0},x,{t,∞},Method->{"EventLocator","Event"->x[t],"EventAction":>Throw[end=t,"StopIntegration"],Method->"BDF"}]

Plot the solution up to the event x(t)==0:

Plot[Evaluate[First[x[t]/.%]],{t,0,end}]

Use of event locator with a deeply nested (RefLink[Method, paclet:ref/Method]) option:

NDSolve[{x''[t]+Sin[x[t]]==0,x[0]==3,x'[0]==0},x,{t,∞},Method->{"EventLocator","Event"->x[t],"EventAction":>Throw[end=t,"StopIntegration"],Method->{"Projection","Invariants"->{x'[t]^2-2 Cos[x[t]]},Method->{"Extrapolation",Method->"ExplicitMidpoint"}}}]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[PerformanceGoal, paclet:ref/PerformanceGoal])  ▪  (RefLink[EvaluationMonitor, paclet:ref/EvaluationMonitor])  ▪  (RefLink[StepMonitor, paclet:ref/StepMonitor])  ▪  (RefLink[SystemOptions, paclet:ref/SystemOptions])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Tuning & Debugging, paclet:guide/TuningAndDebugging])}, {▪(RefLinkPlain[Data Parallelism, paclet:guide/DataParallelism])}, {▪(RefLinkPlain[Numerical Evaluation & Precision, paclet:guide/NumericalEvaluationAndPrecision])}, {▪(RefLinkPlain[Graphics Options & Styling, paclet:guide/GraphicsOptionsAndStyling])}, {▪(RefLinkPlain[Cluster Analysis, paclet:guide/ClusterAnalysis])}})}})