public class FunctionalDetector extends AbstractDetector<FunctionalDetector>
g(SpacecraftState)
函数的探测器,可以使用withFunction(ToDoubleFunction)
进行设置。
例如,要创建一个简单的日期探测器,请使用:
FunctionalDetector d = new FunctionalDetector() .withGFunction((s) -> s.getDate().durationFrom(triggerDate)) .withMaxCheck(1e10);
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Modifier | Constructor and Description |
---|---|
|
FunctionalDetector()
使用默认值创建事件探测器。
|
protected |
FunctionalDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, ToDoubleFunction<SpacecraftState> function)
私有构造函数。
|
Modifier and Type | Method and Description |
---|---|
protected FunctionalDetector |
create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
构建一个新实例。
|
double |
g(SpacecraftState s)
计算切换函数的值。
|
ToDoubleFunction<SpacecraftState> |
getFunction()
获取切换函数。
|
FunctionalDetector |
withFunction(ToDoubleFunction<SpacecraftState> newGFunction)
创建一个带有新g函数的新事件探测器,保持所有其他属性不变。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
public FunctionalDetector()
AbstractDetector.DEFAULT_MAXCHECK
、AbstractDetector.DEFAULT_THRESHOLD
、AbstractDetector.DEFAULT_MAX_ITER
、ContinueOnEvent
,以及一个恒等于1的g函数。
protected FunctionalDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, ToDoubleFunction<SpacecraftState> function)
maxCheck
- 最大检查间隔
threshold
- 收敛阈值(s)
maxIter
- 事件时间搜索中的最大迭代次数
handler
- 事件发生时要调用的事件处理程序
function
- 切换函数
public double g(SpacecraftState s)
AbstractDetector
g
在接口 EventDetector
g
在类 AbstractDetector<FunctionalDetector>
s
- 当前状态信息:日期、运动学、姿态
protected FunctionalDetector create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
AbstractDetector
create
在类 AbstractDetector<FunctionalDetector>
newMaxCheck
- 最大检查间隔(s)
newThreshold
- 收敛阈值(s)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 事件发生时要调用的事件处理程序
public FunctionalDetector withFunction(ToDoubleFunction<SpacecraftState> newGFunction)
AbstractDetector.withMaxCheck(AdaptableInterval)
和AbstractDetector.withThreshold(double)
来为此g函数设置适当的值。
newGFunction
- 新的g函数
public ToDoubleFunction<SpacecraftState> getFunction()
g(SpacecraftState)
中使用的函数。
Copyright © 2002-2023 CS GROUP. All rights reserved.