91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-12
  • 語言: C/C++
  • 標簽: rbf徑向基??

資源簡介

需要自行下載matrix.h文件,可以直接運行,得出插值估計值與實際值比較的結果。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?“matrix.h“
?
using?namespace?std;
?
const?int?P=100;????????//輸入樣本的數量
vector?X(P);??//輸入樣本
Matrix?Y(P1);????????//輸入樣本對應的期望輸出
const?int?M=10;?????????//隱藏層節點數目
vector?center(M);???????//M個Green函數的數據中心
vector?delta(M);????????//M個Green函數的擴展常數
Matrix?Green(PM);?????????//Green矩陣
Matrix?Weight(M1);???????//權值矩陣
?
/*Hermit多項式函數*/
inline?double?Hermit(double?x){
????return?1.1*(1-x+2*x*x)*exp(-1*x*x/2);
}
?
/*產生指定區間上均勻分布的隨機數*/
inline?double?uniform(double?floordouble?ceil){
????return?floor+1.0*rand()/RAND_MAX*(ceil-floor);
}
?
/*產生區間[floorceil]上服從正態分布N[musigma]的隨機數*/
inline?double?RandomNorm(double?mudouble?sigmadouble?floordouble?ceil){
????double?xproby;
????do{
????????x=uniform(floorceil);
????????prob=1/sqrt(2*M_PI*sigma)*exp(-1*(x-mu)*(x-mu)/(2*sigma*sigma));
????????y=1.0*rand()/RAND_MAX;
????}while(y>prob);
????return?x;
}
?
/*產生輸入樣本*/
void?generateSample(){
????for(int?i=0;i????????double?in=uniform(-44);
????????X[i]=in;
????????Y.put(i0Hermit(in)+RandomNorm(00.1-0.30.3));
????}
}
?
/*尋找樣本離哪個中心最近*/
int?nearest(const?vector&?centerdouble?sample){
????int?rect=-1;
????double?dist=numeric_limits::max();
????for(int?i=0;i????????if(fabs(sample-center[i])????????????dist=fabs(sample-center[i]);
????????????rect=i;
????????}
????}
????return?rect;
}
?
/*計算簇的質心*/
double?calCenter(const?vector?&g){
????int?len=g.size();
????double?sum=0.0;
????for(int?i=0;i????????sum+=g[i];
????return?sum/len;
}
?
/*KMeans聚類法產生數據中心*/
void?KMeans(){
????assert(P%M==0);
????vector?>?group(M);??????????//記錄各個聚類中包含哪些樣本
????double?gap=0.001;???????//聚類中心的改變量小于為個值時,迭代終止
????for(int?i=0;i????????center[i]=X[10*i+3];?????//輸入是均勻分布的,所以我們均勻地選取
????}
????while(1){
????????for(int?i=0;i?????

評論

共有 條評論

相關資源