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

📄 head.h

📁 本算法采用LVQ竞争学习网络
💻 H
字号:
#include <fstream.h>
#include <iostream.h>
#include <time.h>
#include <stdlib.h>
#include <math.h>
#define   HN    30
#define  N  96
#define   daynumber  20
#define   classifynumber   10
double pricepointer[daynumber+1][N];
double loadpointer[daynumber][N];
double goalprice[N];
double nextdayload[N];
//隐含层神经元个数, 请多次修改其值来进行比较
#define   IN  5
struct sample
{
	double input[IN];
	double teach;
	
};

int unitnumber;							
double maxprice=500;
double maxload=1e5;
double xout[IN-1];                 //输入层的输出值
double hn_out[HN];                //隐含层的输出值
double y;                         //输出层的输出值
double w[HN][IN-1];
double w1[HN][IN-1];
double w0[HN][IN-1]; 
double hn_b[HN];                  //隐含层的偏置系数
double v[HN];                     //隐含层到输出层的权值
double v1[HN];
double v0[HN];
double y_b;                       //输出层的偏置系数
double hn_delta[HN];              //隐含层的delta
double y_delta;                   //输出层的delta
double error;                     //全局误差
double error_1=100.0;
double errlimit=1.0e-10;           //预设的全局误差极限
double alpha=0.6, beta=0.2;       //预设的学习速率
double a;	
long times=5000;                    //预设的训练次数上限
int i, j,m;
int loop;

double sumtemp;
double errtemp;
struct sample data[daynumber+1];


/*************************************************************
*					数据的读取							     *															 *
**************************************************************/

void getteachingdataprice()   
{
	ifstream Fread("电价样本数据.txt",ios::in );
	//for(int m=0; m<daynumber; m++)
	for(int j=0; j<N; j++)
	{
		//for(int j=0; j<N; j++)
		for(int m=0; m<daynumber; m++)
		{
			Fread>>pricepointer[m][j];
			pricepointer[m][j]=pricepointer[m][j]/maxprice;
		}
	}
	
	
	Fread.close();
}



void getteachingdataload()
{
	ifstream Fread("负荷样本数据.txt",ios::in);
	//for(int m=0; m<daynumber; m++)
	for(int j=0; j<N; j++)
	{
		//for(int j=0; j<N; j++)
		for(int m=0; m<daynumber; m++)
		{
			Fread>>loadpointer[m][j];
			loadpointer[m][j]=loadpointer[m][j]/maxload;
		}
	}

	Fread.close();
}


void gettestingdataprice() //读入目标电价  
{
	ifstream Fread("下一日实际电价数据.txt",ios::in );
	for(int j=0; j<N; j++)
	{
		Fread>>goalprice[j];
		goalprice[j]=goalprice[j]/maxprice;
	}	
	Fread.close();
}


void gettestingload()
{
	ifstream Fread("下一日负荷预测数据.txt",ios::in );
	for(int j=0; j<N; j++)
	{
		Fread>>nextdayload[j];
		nextdayload[j]=nextdayload[j]/maxload;
	}
	Fread.close();
}





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -