📄 elman.h
字号:
// Elman.h: interface for the CElman class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ELMAN_H__F15B7E54_FFA3_4B89_8A67_73106732888E__INCLUDED_)
#define AFX_ELMAN_H__F15B7E54_FFA3_4B89_8A67_73106732888E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <fstream.h>
#include <math.h>
class CElman : public CObject
{
public:
void premnmx();
// void amendlr(unsigned int Times);
// double newlr(double a, double D1,double D2);
void InitializeZero();
void SetFreeFinal();
unsigned int NI;
unsigned int NH;
unsigned int NO;
unsigned int NStruct;
unsigned int NSample;
unsigned int LoopTimes;
double pre_Err;//误差上限
// double gaincoffi;//结构层自增益系数
double a;
double n;
double A;
double **W0;
double **W1;
double **W2;
double **DW0;
double **DW1;
double **DW2;
double **DW00;
double **DW11;
double **DW22;
double **a1;
double **a2;
double **a0;
double **Pi;
double **Ph;
double **Po;
double **T;
double **XOldstructure;
double **XhOld;
double **XStructure;
double **Xh;
double **Xo; //输出层的输出
double **Qh;
double **Qo;//连接的delta
double *YU_HN;
double *YU_ON;
double *Error;//每次迭代误差
double *SumP;
double *SumT;
double *minP;
double *maxP;
double *minT;
double *maxT;
double *VARP;
double *meanp;
double *meanT;
double *STDP;
double *VART;
double *STDT;
double **PrePi;
double **PreT;
CElman();
virtual ~CElman();
void InitiateMatrix();
void initiatewb();
void DemoInput();
void Prestd();
void proceed(unsigned int Times);
void forward();
void amend();
double newa(double a,double D);
double derivecal(double d,int index);
double cal(double d,int index);
void Simulate();
/* void saveModel();//存储权值,得到模型
void loadModel();
void saveResult();*/
};
#endif // !defined(AFX_ELMAN_H__F15B7E54_FFA3_4B89_8A67_73106732888E__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -