⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optimizermethod.h

📁 InnovLabSimu在vc++下实现
💻 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 + -