?? main.cpp
字號(hào):
#include <math.h>
#include "RBFfunction.h"
#include "RBF.h"
#include "system.h"
#include "matplot.h"
static double ydArray[OPS];//參考輸出序列
static double yArray[OPS];//非線性系統(tǒng)輸出序列
static double uArray[OPS];//控制輸入序列
void main()
{
double referArray[DIMY][DIMREFER];//權(quán)重系數(shù)矩陣
double centerArray[6] = {0, 0.1, 0.3, 0.5, 0.9, 1.4};//基函數(shù)中心序列
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);//初始化系數(shù)矩陣
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] );//非線性系統(tǒng)的輸出
yd[1] = ExpOutputk1( r[0], yd[0]);//參考系統(tǒng)輸出
xL[0] = y[0];
neTemp[0] = y[1] - u[0];
RBFlearnproc( xL, neTemp, referArray, centerArray );//RBF網(wǎng)絡(luò)學(xué)習(xí)
neNetOutputk1( xL, neTemp, referArray, centerArray);
yi[0] = neTemp[0] + u[0];//辨識(shí)網(wǎng)絡(luò)輸出
r[1] = Input( (int)( step/STEP + i ) );//輸入信號(hào)
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畫(huà)出各信號(hào)序列
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -