#include <iostream>
#include <vector>
#include <math.h>
using namespace std;
double eta=0.5;//学习率
double alfa=0.05;//动量因子
double x[3]={0};//输入向量x
double ci[6][3]={0};//中心矢量C
double bi[6];//基宽向量B
double w[6];//权值向量W
double h[6]={0};//径向基向量h
double ci_1[6][3],ci_2[6][3],ci_3[6][3];
double bi_1[6],bi_2[6],bi_3[6];
double w_1[6],w_2[6],w_3[6];
double u,u_1,y,y_1;
double xc[3]={0};//增量式PID的输入
double error,error_1,error_2;
double kp0=0.01,ki0=0.01,kd0=0.01;//初始P、I、D
double kp_1=kp0,ki_1=ki0,kd_1=kd0;
double etaP=0.15,etaI=0.15,etaD=0.15;//P,I,D系数调整速度
double kp,ki,kd;
//vector<double> yd;
double caculateNorm2(double * tx,int count)//计算矩阵2-范数
{
double norm2=0;
for(int i=0;i<count;i++)
{
norm2+=pow(tx[i],2);
}
return norm2;
}
double caculateHj(double* tx,double * tc,int count,double tbij)//计算h[j]
{
double norm2=0,hj=0;
for(int i
RBF_PID_CPP
最新推荐文章于 2024-07-06 08:57:15 发布