public class Ephemeris extends AbstractAnalyticalPropagator implements BoundedPropagator
DEFAULT_MASS
Constructor and Description |
---|
Ephemeris(List<SpacecraftState> states, int interpolationPoints)
具有表格化状态和默认Hermite插值的传统构造函数。
|
Ephemeris(List<SpacecraftState> states, TimeInterpolator<SpacecraftState> stateInterpolator)
具有表格化状态的构造函数。
|
Ephemeris(List<SpacecraftState> states, TimeInterpolator<SpacecraftState> stateInterpolator, AttitudeProvider attitudeProvider)
具有表格化状态的构造函数。
|
Ephemeris(List<SpacecraftState> states, TimeInterpolator<SpacecraftState> stateInterpolator, List<StateCovariance> covariances, TimeInterpolator<TimeStampedPair<Orbit,StateCovariance>> covarianceInterpolator)
具有表格化状态和相关协方差的构造函数。
|
Ephemeris(List<SpacecraftState> states, TimeInterpolator<SpacecraftState> stateInterpolator, List<StateCovariance> covariances, TimeInterpolator<TimeStampedPair<Orbit,StateCovariance>> covarianceInterpolator, AttitudeProvider attitudeProvider)
具有表格化状态和相关协方差的构造函数。
|
acceptStep, addEventDetector, clearEventsDetectors, getEphemerisGenerator, getEventsDetectors, getJacobiansColumnsNames, getPvProvider, propagate
addAdditionalStateProvider, getAdditionalStateProviders, getAttitudeProvider, getHarvester, getMultiplexer, getPVCoordinates, getStartDate, initializeAdditionalStates, initializePropagation, propagate, setAttitudeProvider, setStartDate, setupMatricesComputation, stateChanged, updateAdditionalStates, updateUnmanagedStates
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addAdditionalStateProvider, addEventDetector, clearEventsDetectors, clearStepHandlers, getAdditionalStateProviders, getAttitudeProvider, getDefaultLaw, getEphemerisGenerator, getEventsDetectors, getMultiplexer, propagate, propagate, setAttitudeProvider, setStepHandler, setStepHandler, setupMatricesComputation
getPosition, getPVCoordinates
public Ephemeris(List<SpacecraftState> states, int interpolationPoints) throws org.hipparchus.exception.MathIllegalArgumentException
由于此插值实现是多项式的,应仅在小样本(约10-20个点)中使用,以避免朗格现象和数值问题(包括NaN的出现)。
states
- 空间飞行器状态列表
interpolationPoints
- 插值中使用的点数
org.hipparchus.exception.MathIllegalArgumentException
- 如果状态数小于插值中使用的点数
OrekitIllegalArgumentException
- 如果状态未以相同方式定义(轨道或绝对位置-速度-加速度)
Ephemeris(List, TimeInterpolator, List, TimeInterpolator)
, SpacecraftStateInterpolator
public Ephemeris(List<SpacecraftState> states, TimeInterpolator<SpacecraftState> stateInterpolator) throws org.hipparchus.exception.MathIllegalArgumentException
states
- 空间飞行器状态列表
stateInterpolator
- 空间飞行器状态插值器
org.hipparchus.exception.MathIllegalArgumentException
- 如果状态数小于插值中使用的点数
OrekitIllegalArgumentException
- 如果状态未以相同方式定义(轨道或绝对位置-速度-加速度)
Ephemeris(List, TimeInterpolator, List, TimeInterpolator)
public Ephemeris(List<SpacecraftState> states, TimeInterpolator<SpacecraftState> stateInterpolator, AttitudeProvider attitudeProvider) throws org.hipparchus.exception.MathIllegalArgumentException
states
- 空间飞行器状态列表
stateInterpolator
- 空间飞行器状态插值器
attitudeProvider
- 要使用的姿态规律,默认为null
org.hipparchus.exception.MathIllegalArgumentException
- 如果状态数小于插值中使用的点数
OrekitIllegalArgumentException
- 如果状态未以相同方式定义(轨道或绝对位置-速度-加速度)
Ephemeris(List, TimeInterpolator, List, TimeInterpolator)
public Ephemeris(List<SpacecraftState> states, TimeInterpolator<SpacecraftState> stateInterpolator, List<StateCovariance> covariances, TimeInterpolator<TimeStampedPair<Orbit,StateCovariance>> covarianceInterpolator) throws org.hipparchus.exception.MathIllegalArgumentException
states
- 空间飞行器状态列表
stateInterpolator
- 空间飞行器状态插值器
covariances
- 与表格化状态相关的表格化协方差,用于进行外推
covarianceInterpolator
- 协方差插值器
org.hipparchus.exception.MathIllegalArgumentException
- 如果状态数小于插值中使用的点数
OrekitIllegalArgumentException
- 如果状态未以相同方式定义(轨道或绝对位置-速度-加速度)
OrekitIllegalArgumentException
- 如果状态数与协方差数不同
OrekitIllegalStateException
- 如果状态和相关协方差之间的日期不同
Ephemeris(List, TimeInterpolator, List, TimeInterpolator, AttitudeProvider)
public Ephemeris(List<SpacecraftState> states, TimeInterpolator<SpacecraftState> stateInterpolator, List<StateCovariance> covariances, TimeInterpolator<TimeStampedPair<Orbit,StateCovariance>> covarianceInterpolator, AttitudeProvider attitudeProvider) throws org.hipparchus.exception.MathIllegalArgumentException
用户应明确定义姿态提供器,如果想要使用姿态提供器。否则,默认为null
states
- 空间飞行器状态列表
stateInterpolator
- 空间飞行器状态插值器
covariances
- 与表格化状态相关的表格化协方差
covarianceInterpolator
- 协方差插值器
attitudeProvider
- 要使用的姿态规律,默认为null
org.hipparchus.exception.MathIllegalArgumentException
- 如果状态数小于插值中使用的点数
OrekitIllegalArgumentException
- 如果状态未以相同方式定义(轨道或绝对位置-速度-加速度)
OrekitIllegalArgumentException
- 如果状态数与协方差数不同
OrekitIllegalStateException
- 如果状态和相关协方差之间的日期不同
public static void checkInputConsistency(List<SpacecraftState> states, TimeInterpolator<SpacecraftState> stateInterpolator, List<StateCovariance> covariances, TimeInterpolator<TimeStampedPair<Orbit,StateCovariance>> covarianceInterpolator)
states
- 空间飞行器状态样本
stateInterpolator
- 空间飞行器状态插值器
covariances
- 协方差样本
covarianceInterpolator
- 协方差插值器
public static void checkStatesAndCovariancesConsistency(List<SpacecraftState> states, List<StateCovariance> covariances)
states
- 要检查的表格化状态
covariances
- 与表格化状态相关的表格化协方差,用于检查
public AbsoluteDate getMinDate()
getMinDate
在接口 BoundedPropagator
public AbsoluteDate getMaxDate()
getMaxDate
在接口 BoundedPropagator
public Frame getFrame()
传播参考系是初始状态的定义参考系,因此应在设置此状态后调用此方法,否则可能返回null。
getFrame
在接口 Propagator
中
getFrame
在类 AbstractPropagator
中
Propagator.resetInitialState(SpacecraftState)
public Optional<StateCovariance> getCovariance(AbsoluteDate date)
注意:如果此实例是在没有协方差样本和/或使用绝对位置-速度-加速度定义的太空船状态创建的,则会返回一个空的Optional
。
date
- 所需协方差的日期
Optional
public SpacecraftState basicPropagate(AbsoluteDate date)
此方法在精神上类似于AbstractAnalyticalPropagator.propagate(org.orekit.time.AbsoluteDate, org.orekit.time.AbsoluteDate)
方法,只是它在传播过程中不调用任何处理程序,也不调用任何离散事件或附加状态。它总是在指定的日期准确停止。
basicPropagate
在类 AbstractAnalyticalPropagator
中
date
- 传播的目标日期
protected Orbit propagateOrbit(AbsoluteDate date)
propagateOrbit
在类 AbstractAnalyticalPropagator
中
date
- 轨道的目标日期
protected double getMass(AbsoluteDate date)
getMass
在类 AbstractAnalyticalPropagator
中
date
- 轨道的目标日期
public void resetInitialState(SpacecraftState state)
此方法始终抛出异常,因为星历不可重置。
resetInitialState
在接口 Propagator
中
resetInitialState
在类 AbstractPropagator
中
state
- 要考虑的新初始状态
protected void resetIntermediateState(SpacecraftState state, boolean forward)
resetIntermediateState
在类 AbstractAnalyticalPropagator
中
state
- 要考虑的新中间状态
forward
- 如果为true,则中间状态对其后的传播有效
public SpacecraftState getInitialState()
getInitialState
在接口 Propagator
中
getInitialState
在类 AbstractPropagator
中
public boolean isAdditionalStateManaged(String name)
被管理的状态是传播器知道如何计算其演变的状态。它们对应于通过调用addAdditionalStateProvider
方法注册了一个provider
的附加状态。
出现在初始状态
中但没有注册演变方法的附加状态不被视为受管理状态。这些未受管理的附加状态在传播过程中不会丢失。它们的值在可能改变它们的状态重置之间是分段常数,如果某个事件处理程序resetState
方法在事件发生时被调用并且恰好更改了未受管理的附加状态。
isAdditionalStateManaged
在接口 Propagator
中
isAdditionalStateManaged
在类 AbstractPropagator
中
name
- 附加状态的名称
public String[] getManagedAdditionalStates()
getManagedAdditionalStates
在接口 Propagator
中
getManagedAdditionalStates
在类 AbstractPropagator
中
protected AbstractMatricesHarvester createHarvester(String stmName, org.hipparchus.linear.RealMatrix initialStm, DoubleArrayDictionary initialJacobianColumns)
createHarvester
在类中 AbstractPropagator
stmName
- 状态转移矩阵状态名称
initialStm
- 初始状态转移矩阵 ∂Y/∂Y₀,如果为null(这是最常见的情况),则假定为6x6单位矩阵
initialJacobianColumns
- 相对于参数的雅可比矩阵的初始列,如果为null或字典中缺少某些选定的参数,则假定相应的初始列为0
public TimeInterpolator<SpacecraftState> getStateInterpolator()
public Optional<TimeInterpolator<TimeStampedPair<Orbit,StateCovariance>>> getCovarianceInterpolator()
Optional
Copyright © 2002-2023 CS GROUP. All rights reserved.