📄 optimizermethod.h
字号:
#pragma once
#include <algorithm>
/********************************************************************
created: 2008/01/12
created: 12:1:2008 16:44
filename: c:\boosttest\MyTargetTrack\MyTargetTrack\UncentedKalmanFilt\OptimizerMethod.h
file path: c:\boosttest\MyTargetTrack\MyTargetTrack\UncentedKalmanFilt
file base: OptimizerMethod
file ext: h
author: GaoYang
purpose: 本类用于给自适应函数需继承,本类仅包含寻优算法,目前是RPPOP算法,给出一个步长的调整值
*********************************************************************/
class COptimizerMethod
{
public:
COptimizerMethod(void);
COptimizerMethod(float AmplitudeGain,float DecreaseGain,float StepAmplitudeMax);
public:
virtual~COptimizerMethod(void);
/** 改进的快速寻优算法
*@parm CurrentErrorDif,PreErrorDif为当前误差函数斜率(导数),与前一时刻误差函数斜率
*@parm PreDeltaStep,前一时刻的本算法寻优结果
*@parm PreDeltaStep为本轮寻优的步长调整量
*@parm PreErrorDif,输入时为上一是刻的误差斜率,为本轮寻完优后为当前误差函数斜率,(可能内部有设置为0因此必须输出)
*@output AdjustStep为输出的调整步长,返回值
*/
float RPPOP_DeltaStepSeek(double& CurrentErrorDif,double& PreErrorDif,double& PreDeltaStep);
protected:
/**
*符号函数,number<0返回-1,number>=0返回1
*/
inline float sign(double &number);
float m_fAmplitudeGain;///<放大时的放大系数
float m_fDecreaseGain;///<减少时的缩小系数
float m_fStepAmplitudeMax;///<调整步长的最大值
float m_fStepAmplitudeMin;///<调整步长的最小值
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -