类 AdamsIntegrator
java.lang.Object
org.hipparchus.ode.AbstractIntegrator
org.hipparchus.ode.nonstiff.AdaptiveStepsizeIntegrator
org.hipparchus.ode.MultistepIntegrator
org.hipparchus.ode.nonstiff.AdamsIntegrator
- 所有已实现的接口:
-
ODEIntegrator
Adams-Bashforth
和 Adams-Moulton
积分器的基类。
-
字段概要
从类继承的字段 org.hipparchus.ode.MultistepIntegrator
nordsieck, scaled
-
构造器概要
构造器说明AdamsIntegrator
(String name, int nSteps, int order, double minStep, double maxStep, double[] vecAbsoluteTolerance, double[] vecRelativeTolerance) 使用给定的阶数和步长控制参数构建Adams积分器。AdamsIntegrator
(String name, int nSteps, int order, double minStep, double maxStep, double scalAbsoluteTolerance, double scalRelativeTolerance) 使用给定的阶数和步长控制参数构建Adams积分器。 -
方法概要
修饰符和类型方法说明protected abstract double
errorEstimation
(double[] previousState, double predictedTime, double[] predictedState, double[] predictedScaled, RealMatrix predictedNordsieck) 估计误差。protected abstract org.hipparchus.ode.nonstiff.AdamsStateInterpolator
finalizeStep
(double stepSize, double[] predictedState, double[] predictedScaled, Array2DRowRealMatrix predictedNordsieck, boolean isForward, ODEStateAndDerivative globalPreviousState, ODEStateAndDerivative globalCurrentState, EquationsMapper equationsMapper) 完成步骤。protected Array2DRowRealMatrix
initializeHighOrderDerivatives
(double h, double[] t, double[][] y, double[][] yDot) 在步骤开始时初始化高阶缩放导数。integrate
(ExpandableODE equations, ODEState initialState, double finalTime) 将微分方程积分到给定时间。更新Adams积分器的高阶缩放导数(阶段1)。void
updateHighOrderDerivativesPhase2
(double[] start, double[] end, Array2DRowRealMatrix highOrder) 更新Adams积分器的高阶缩放导数(阶段2)。从类继承的方法 org.hipparchus.ode.MultistepIntegrator
computeStepGrowShrinkFactor, getMaxGrowth, getMinReduction, getNSteps, getSafety, getStarterIntegrator, rescale, setMaxGrowth, setMinReduction, setSafety, setStarterIntegrator, start
从类继承的方法 org.hipparchus.ode.nonstiff.AdaptiveStepsizeIntegrator
getMaxStep, getMinStep, getStepSizeHelper, initializeStep, resetInternalState, sanityChecks, setInitialStepSize, setStepSizeControl, setStepSizeControl
从类继承的方法 org.hipparchus.ode.AbstractIntegrator
acceptStep, addEventDetector, addStepEndHandler, addStepHandler, clearEventDetectors, clearStepEndHandlers, clearStepHandlers, computeDerivatives, getCurrentSignedStepsize, getEquations, getEvaluations, getEvaluationsCounter, getEventDetectors, getMaxEvaluations, getName, getStepEndHandlers, getStepHandlers, getStepSize, getStepStart, initIntegration, isLastStep, resetOccurred, setIsLastStep, setMaxEvaluations, setStateInitialized, setStepSize, setStepStart
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 org.hipparchus.ode.ODEIntegrator
integrate
-
构造器详细资料
-
AdamsIntegrator
public AdamsIntegrator(String name, int nSteps, int order, double minStep, double maxStep, double scalAbsoluteTolerance, double scalRelativeTolerance) throws MathIllegalArgumentException 使用给定的阶数和步长控制参数构建Adams积分器。- 参数:
-
name
- 方法的名称 -
nSteps
- 方法的步数,不包括正在计算的步骤 -
order
- 方法的阶数 -
minStep
- 最小步长(符号无关,无论是正向还是反向积分,最后一步可以小于此值) -
maxStep
- 最大步长(符号无关,无论是正向还是反向积分,最后一步可以小于此值) -
scalAbsoluteTolerance
- 允许的绝对误差 -
scalRelativeTolerance
- 允许的相对误差 - 抛出:
-
MathIllegalArgumentException
- 如果阶数小于等于1
-
AdamsIntegrator
public AdamsIntegrator(String name, int nSteps, int order, double minStep, double maxStep, double[] vecAbsoluteTolerance, double[] vecRelativeTolerance) throws IllegalArgumentException 使用给定的阶数和步长控制参数构建Adams积分器。- 参数:
-
name
- 方法的名称 -
nSteps
- 方法的步数,不包括正在计算的步骤 -
order
- 方法的阶数 -
minStep
- 最小步长(符号无关,无论是正向还是反向积分,最后一步可以小于此值) -
maxStep
- 最大步长(符号无关,无论是正向还是反向积分,最后一步可以小于此值) -
vecAbsoluteTolerance
- 允许的绝对误差 -
vecRelativeTolerance
- 允许的相对误差 - 抛出:
-
IllegalArgumentException
- 如果阶数小于等于1
-
-
方法详细资料
-
integrate
public ODEStateAndDerivative integrate(ExpandableODE equations, ODEState initialState, double finalTime) throws MathIllegalArgumentException, MathIllegalStateException 将微分方程积分到给定时间。此方法解决初始值问题(IVP)。
由于此方法存储一些在积分期间在其公共接口中提供的内部状态变量(可通过
ODEIntegrator.getCurrentSignedStepsize()
访问),因此它不是线程安全的。- 参数:
-
equations
- 要积分的微分方程 -
initialState
- 初始状态(时间,主要和次要状态向量) -
finalTime
- 积分的目标时间(可以设置为小于t0
的值进行反向积分) - 返回:
-
最终状态,如果积分达到目标,则其时间将与
finalTime
相同,但如果某个ODEEventHandler
在某个点停止它,则可能不同。 - 抛出:
-
MathIllegalArgumentException
- 如果积分步长太小 -
MathIllegalArgumentException
- 如果无法将事件的位置围绕起来 -
MathIllegalStateException
- 如果函数评估次数超过限制
-
initializeHighOrderDerivatives
protected Array2DRowRealMatrix initializeHighOrderDerivatives(double h, double[] t, double[][] y, double[][] yDot) 在步骤开始时初始化高阶缩放导数。- 指定者:
-
initializeHighOrderDerivatives
在类中MultistepIntegrator
- 参数:
-
h
- 用于缩放的步长 -
t
- 第一步的时间 -
y
- 第一步的状态 -
yDot
- 第一步的导数 - 返回:
- 第一步的Nordieck向量(h2/2 y''n, h3/6 y'''n ... hk/k! y(k)n)
-
updateHighOrderDerivativesPhase1
更新Adams积分器的高阶缩放导数(阶段1)。完整的高阶导数更新形式类似于:\[ r_{n+1} = (s_1(n) - s_1(n+1)) P^{-1} u + P^{-1} A P r_n \] 此方法计算P-1 A P rn部分。
- 参数:
-
highOrder
- 高阶缩放导数(h2/2 y'',... hk/k! y(k)) - 返回:
- 更新后的高阶导数
- 另请参阅:
-
updateHighOrderDerivativesPhase2
public void updateHighOrderDerivativesPhase2(double[] start, double[] end, Array2DRowRealMatrix highOrder) 更新Adams积分器的高阶缩放导数(阶段2)。完整的高阶导数更新形式类似于:\[ r_{n+1} = (s_1(n) - s_1(n+1)) P^{-1} u + P^{-1} A P r_n \] 此方法计算(s1(n) - s1(n+1)) P-1 u 部分。
更新的阶段1必须已经执行。
- 参数:
-
start
- 步骤开始时的一阶缩放导数 -
end
- 步骤结束时的一阶缩放导数 -
highOrder
- 高阶缩放导数,将被修改(h2/2 y'',... hk/k! y(k)) - 另请参阅:
-
errorEstimation
protected abstract double errorEstimation(double[] previousState, double predictedTime, double[] predictedState, double[] predictedScaled, RealMatrix predictedNordsieck) 估计误差。- 参数:
-
previousState
- 步骤开始时的状态向量 -
predictedTime
- 步骤结束时的时间 -
predictedState
- 步骤结束时的预测状态向量 -
predictedScaled
- 步骤结束时的缩放导数预测值 -
predictedNordsieck
- 步骤结束时的Nordsieck向量预测值 - 返回:
- 估计的归一化局部离散化误差
- 从以下版本开始:
- 2.0
-
finalizeStep
protected abstract org.hipparchus.ode.nonstiff.AdamsStateInterpolator finalizeStep(double stepSize, double[] predictedState, double[] predictedScaled, Array2DRowRealMatrix predictedNordsieck, boolean isForward, ODEStateAndDerivative globalPreviousState, ODEStateAndDerivative globalCurrentState, EquationsMapper equationsMapper) 完成步骤。- 参数:
-
stepSize
- 缩放和Nordsieck数组中使用的步长 -
predictedState
- 步骤结束时的预测状态 -
predictedScaled
- 预测的第一个缩放导数 -
predictedNordsieck
- 预测的Nordsieck向量 -
isForward
- 积分方向指示器 -
globalPreviousState
- 全局步骤的起始点 -
globalCurrentState
- 全局步骤的结束点 -
equationsMapper
- ODE方程主要和次要分量的映射器 - 返回:
- 步
-