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

📄 main.cpp

📁 神经网络的自适用算法
💻 CPP
字号:
#include  <math.h>

#include  "RBFfunction.h"
#include  "RBF.h"
#include  "system.h"
#include  "matplot.h"


static	double ydArray[OPS];//参考输出序列
static  double yArray[OPS];//非线性系统输出序列
static  double uArray[OPS];//控制输入序列


void main()
{
	double referArray[DIMY][DIMREFER];//权重系数矩阵
	double centerArray[6] = {0, 0.1, 0.3, 0.5, 0.9, 1.4};//基函数中心序列

    double r[2];
    double u[2];
	double y[2];
	double yd[2];
	double yi[2];

    double neTemp[DIMY];
    double xL[DIMX];

    r[0] = Input(0);
	y[0] = 0;
	yd[0] = 0;
	yi[0] = 0;
    RandomRefer( referArray , 10);//初始化系数矩阵
    
	for( int step = 0; step < OPS; step++ )
	{  
  
	    for( int i =0; i < 1 / STEP; i++ )
	    {   
			xL[0] = y[0];
            neNetOutputk1( xL, neTemp, referArray, centerArray);
			u[0] = -neTemp[0] + ( 1-STEP) * y[0] + r[0]*STEP;//非线性的输入

			y[1] =  systemOutputk1( u[0], y[0] );//非线性系统的输出
            yd[1] = ExpOutputk1( r[0], yd[0]);//参考系统输出
	
            xL[0] = y[0];
			neTemp[0] = y[1] - u[0];
			RBFlearnproc( xL, neTemp, referArray, centerArray );//RBF网络学习

            neNetOutputk1( xL, neTemp, referArray, centerArray);
			yi[0] = neTemp[0] + u[0];//辨识网络输出

			r[1] = Input( (int)( step/STEP + i ) );//输入信号
			   	
		    r[0] = r[1];
			y[0] = y[1];
			yd[0]= yd[1];
		} 
		ydArray[step]= yd[0];
		yArray[step]= y[0];
		uArray[step]= u[0];
	}
    matDraw( uArray, yArray, ydArray );//由matlab画出各信号序列 
}

⌨️ 快捷键说明

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