亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? factor.cpp

?? 基于vc環境開發的主成分分析軟件
?? CPP
字號:
// Factor.cpp: implementation of the Factor class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "ProGram2.h"
#include "Factor.h"
#include "Matrix.h"
#include "math.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Factor::Factor()
{

}

Factor::~Factor()
{

}
Factor::Factor(CMatrix mx, double dep_m)
{
	X=mx;
	this->dep_m=dep_m;
	n=X.GetNumRows();
	p=X.GetNumCols();
	h2=new double[p];
	a2=new double[p];
	CMatrix A1(p,p);
	A=A1;
//	delete A1;
	R.MakeUnitMatrix(p);
//	AfxMessageBox("接收數據完成");

}
void Factor::Run(void)
{
	int i,j,k,h;
	double *avex1,*avex2,sum;
	avex1=new double[n];
	avex2=new double[p];

	sum=0;
	for(i=0;i<n;i++)
	{	sum=0;
		for (j=0;j<p;j++)
		{
			sum=sum+X.GetElement(i,j);
		}
		avex1[i]=sum/p;
	}
	//求列均值
	for( i=0;i<p;i++)
	{	sum=0;
		for (j=0;j<n;j++)
		{
			sum=sum+X.GetElement(j,i);
		}
		avex2[i]=sum/n;
	}
	//求離差陣
	CMatrix E(p,p);
	for( i=0;i<p;i++)
	{	
		for (j=0;j<p;j++)
		{   
			sum=0;
			for(k=0;k<n;k++) 
			{	
				sum=sum+(X.GetElement(k,i)-avex1[i])*(X.GetElement(k,j)-avex2[j]);
			}
			E.SetElement(i,j,sum/(n-1));
		}
	}

	for( i=0;i<n;i++)
	{	
		for (j=0;j<p;j++)
		{   
			X.SetElement(i,j,(X.GetElement(i,j)-avex2[j])/sqrt(E.GetElement(j,j)/(n-1)));//數據標準化
		}
	}

//	CMatrix R(p,p);
	for( i=0;i<p;i++)
	{	
		for (j=0;j<p;j++)
		{	
			R.SetElement(i,j,E.GetElement(i,j)/sqrt(E.GetElement(i,i)*E.GetElement(j,j)));
		}
	}

	//cout<<"\n 2\n";
	////這里可能需要輸出相關矩陣;

	///////////////////////////(三)求解相關矩陣R的特征值和特征向量////////////////////
//	CMatrix te_R;
	te_R=R.Eigenv();
	double temp;
/*	for(i=0;i<p;i++)
	{	temp=-te_R.GetElement(i,p);
		//cout<<te_R.GetElement(i,p)<<endl;
		te_R.SetElement(i,p,temp);//先改正過來,看看后面的結果對不對????????????????

	}*/
	//show(te_R);//特征值是正確的,第san個特征向量符號反了。。。。。

	//////////////////////////(四)計算特征值的百分率和累積百分率//////////////////////
	double lamda[20],Eve_lamda[20],Acu_lamda[20];
	for( i=0;i<p;i++)
	{
		lamda[i]=te_R.GetElement(0,i);//特征值保存在該一維數組中
		//cout<<lamda[i]<<endl;
	}
	//cout<<All_lamda<<endl;
	for( i=0;i<p;i++)
	{
		Eve_lamda[i]=lamda[i]/p;//特征值的百分率
	}
	Acu_lamda[0]=Eve_lamda[0];
	for( i=1;i<p;i++)
	{
		Acu_lamda[i]=Acu_lamda[i-1]+Eve_lamda[i];//特征值的累積百分率
	}
	

	/////////////////////////(五)確定主因子數/////////////////////
//	cout<<"請選擇累積百分率確定主因子數m"<<endl;
//	double dep_m;
//	cin>>dep_m;
	int m=0;
	for( i=0;i<p;i++)
	{
		if(Acu_lamda[i]>=dep_m)
		{
			m=i+1;
			break;
		}
	}
	m_ColsOfA=m;
//	cout<<m<<endl;
	////////////////////////(六)對特征向量矩陣進行規格化處理,得因子載荷A/////////////
//	CMatrix A(p,p);
	for( i=0;i<p;i++)
	{	
		for (j=0;j<p;j++)
		{	
			if(lamda[j]<=0)//??????????????????????
			{
				lamda[j]=0;
			}
			//cout<<te_R.GetElement(j+1,i)<<endl;
			A.SetElement(j,i,te_R.GetElement(j+1,i)*sqrt(lamda[i]));//lamda[i];////每一行是一個主因子的載荷
		}
	}

	//show(A);///所有因子的載荷
	///////////////////////////(七)計算共同度和特殊方差////////////////////

	h2=new double[p];
	a2=new double[p];///確定個數
	//h2[0]=0;
	for( i=0;i<p;i++)
	{	h2[i]=0;
		for (j=0;j<m;j++)
		{	
			h2[i]=h2[i]+A.GetElement(i,j)*A.GetElement(i,j);
			a2[i]=1-h2[i];
		}
		h2[i]=sqrt(h2[i]);
		
	}

	///////////////////////////(八)方差正交旋轉///////////////////////////
            
	double a,b,c,d,u,v,tan_sifaijiao_ij,t1,t2,V,V1,V2;//,temp;
	CMatrix T;
	CMatrix B1(p,m);//主因子載荷陣
	B=B1;
	for(i=0;i<p;i++)
	{
		for(j=0;j<m;j++)
		{
			B.SetElement(i,j,A.GetElement(i,j));
		}
	}
	//show(B);
	temp=0;
	V=0;
	for(h=0;h<m;h++)
	{	
		V1=0;	
		V2=0; 
		for(k=0;k<p;k++)
		{
			V1=V1+3*(B.GetElement(k,h)/h2[h])*(B.GetElement(k,h)/h2[h])*(B.GetElement(k,h)/h2[k])*(B.GetElement(k,h)/h2[h]);
			V2=V2+(B.GetElement(k,h)/h2[h])*(B.GetElement(k,h)/h2[h]);	
		}
		V=V+((double) 1/(p*p))*(V1-V2*V2);
	}
	//cout<<V<<"**************"<<endl;	
	while (fabs(V-temp)>=0.0001)
	{		
		for(i=0;i<m;i++)
		{
			for(j=i+1;j<m;j++)
			{	
				a=0;
				b=0;
				c=0;
				d=0;
				t1=0;
				t2=0;
				for(k=0;k<p;k++)
				{
					u=0;
					v=0;
					u=(B.GetElement(k,i)/h2[k])*(B.GetElement(k,i)/h2[k])-(B.GetElement(k,j)/h2[k])*(B.GetElement(k,j)/h2[k]);
					v=2*(B.GetElement(k,i)/h2[k])*(B.GetElement(k,j)/h2[k]);
					//cout<<v<<"$$$";
					a=a+u;
					b=b+v;
					c=c+(u*u-v*v);
					d=d+2*u*v;
				}
				//cout<<a<<"****"<<b<<"****"<<c<<"****"<<d<<endl;
				tan_sifaijiao_ij=(d-2*a*b/p)/(c-(a*a-b*b)/p);///1、計算旋轉角////////
				t1=sin(atan(tan_sifaijiao_ij)/4);
				t2=cos(atan(tan_sifaijiao_ij)/4);
				//cout<<t2<<endl;//<<"%%%%%%%%"<<endl;
				T.MakeUnitMatrix(m);///2、生成一系列旋轉矩陣////
				T.SetElement(i,i,t2);
				T.SetElement(i,j,-t1);
				T.SetElement(j,i,t1);
				T.SetElement(j,j,t2);
				//show(T);
				B=B*T;
				//show(B);
			}
		}

		temp=V;
		V=0;
		for(h=0;h<m;h++)
		{	
			V1=0;
			V2=0; 
			for(k=0;k<p;k++)
			{
				V1=V1+3*(B.GetElement(k,h)/h2[h])*(B.GetElement(k,h)/h2[h])*(B.GetElement(k,h)/h2[k])*(B.GetElement(k,h)/h2[h]);
				V2=V2+(B.GetElement(k,h)/h2[h])*(B.GetElement(k,h)/h2[h]);	
			}
			V=V+((double) 1/(p*p))*(V1-V2*V2);
		}  
//	cout<<fabs(V-temp)<<endl;
	}
//	show(B);//4.最后輸出旋轉后的主因子載荷////


					  //////////////////////////(十)進行斜旋轉/////////////////////////

						 //原理還沒搞清楚,進一步研究中。。。。。。

					  //////////////////////////////////////////////////////////////////
			//////////////////////////(十一)計算因子得分//////////////////////////////
//	CMatrix F;

	F=B.Transpose()*R.Invert()*X.Transpose();//

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产经典欧美精品| 亚洲激情自拍偷拍| 精品一区二区在线播放| 3d动漫精品啪啪| 性做久久久久久久免费看| 欧美日韩你懂得| 日本不卡一二三| 日韩午夜激情电影| 国产精品系列在线观看| 国产欧美日韩综合| 粉嫩在线一区二区三区视频| 国产精品全国免费观看高清 | 亚洲一区视频在线| 欧美吞精做爰啪啪高潮| 日本欧美韩国一区三区| 久久影视一区二区| av在线这里只有精品| 亚洲精品视频在线看| 欧美女孩性生活视频| 精品一区二区国语对白| 国产精品欧美久久久久无广告 | 国产精品卡一卡二卡三| 色菇凉天天综合网| 无吗不卡中文字幕| 久久精品日韩一区二区三区| 91碰在线视频| 久久精品国内一区二区三区| 欧美国产日本韩| 欧美日韩午夜在线| 国产成人亚洲综合a∨婷婷图片| 国产精品网站在线播放| 欧美视频中文字幕| 国内外成人在线视频| ㊣最新国产の精品bt伙计久久| 在线电影院国产精品| 国产高清精品网站| 亚洲成年人影院| 国产视频一区在线观看| 欧美三级日韩三级| 盗摄精品av一区二区三区| 婷婷成人综合网| 亚洲欧美怡红院| 精品国产免费人成电影在线观看四季 | 久久免费视频色| 在线观看网站黄不卡| 精品亚洲成a人在线观看| 亚洲精品写真福利| 久久久一区二区| 欧美老肥妇做.爰bbww| 99riav久久精品riav| 久久99国产精品久久99果冻传媒| 亚洲欧美欧美一区二区三区| 精品欧美乱码久久久久久| 在线观看日韩国产| 丁香一区二区三区| 久久国产婷婷国产香蕉| 亚洲综合一区二区三区| 欧美激情一区二区三区在线| 精品三级在线看| 欧美日韩精品一区二区| 99精品热视频| 国产成人免费在线观看不卡| 日韩精品一卡二卡三卡四卡无卡| 亚洲日本一区二区三区| 国产欧美日韩在线视频| 日韩欧美中文一区| 欧美日韩大陆一区二区| 色天天综合久久久久综合片| 国产成人免费9x9x人网站视频| 黄色成人免费在线| 青青草视频一区| 视频一区国产视频| 亚洲国产精品嫩草影院| 亚洲综合色婷婷| 亚洲国产综合视频在线观看| 一区二区三区在线视频观看| 中国色在线观看另类| 国产精品成人免费精品自在线观看| 久久免费午夜影院| 久久久久久综合| 久久综合久久久久88| 26uuu亚洲综合色| 久久在线观看免费| 国产校园另类小说区| 国产网站一区二区三区| 国产亚洲人成网站| 国产日韩欧美综合一区| 欧美经典三级视频一区二区三区| 日本一区二区三区电影| 久久精品亚洲乱码伦伦中文 | 欧美性生交片4| 欧美在线一二三| 欧美日韩久久久| 欧美一区二区三区视频在线观看| 欧美一级xxx| 久久综合久色欧美综合狠狠| 亚洲国产精品传媒在线观看| 中文无字幕一区二区三区| 中文字幕在线观看不卡视频| 亚洲免费观看高清完整版在线| 亚洲理论在线观看| 爽好多水快深点欧美视频| 久久国产夜色精品鲁鲁99| 国产成人综合网| 91福利国产精品| 91麻豆精品国产综合久久久久久 | 在线一区二区三区| 4438成人网| 国产视频一区二区三区在线观看| 中文字幕一区二区三区在线播放| 一区二区三区四区在线免费观看| 首页欧美精品中文字幕| 国产成人小视频| 欧美在线不卡视频| 日韩欧美一区二区免费| 国产精品视频第一区| 亚洲最新在线观看| 激情综合五月天| 色综合天天综合网国产成人综合天 | 欧美体内she精高潮| 日韩免费观看高清完整版 | 欧美性受xxxx黑人xyx性爽| 日韩免费视频线观看| 亚洲天堂免费看| 麻豆久久久久久久| 菠萝蜜视频在线观看一区| 欧美日韩免费电影| 国产无遮挡一区二区三区毛片日本| 一级中文字幕一区二区| 国产一区二三区好的| 在线看不卡av| 中文字幕欧美日韩一区| 日日夜夜一区二区| 99国产精品久| 亚洲一区免费视频| 精品一区二区三区免费观看| 色婷婷亚洲一区二区三区| 精品久久一区二区三区| 亚洲精品福利视频网站| 韩国v欧美v亚洲v日本v| 欧美二区乱c少妇| 亚洲欧美日韩一区二区三区在线观看| 麻豆精品视频在线观看| 色猫猫国产区一区二在线视频| 久久精品免费在线观看| 日本一区中文字幕| 欧洲av在线精品| 亚洲女与黑人做爰| 国产a视频精品免费观看| 日韩欧美国产一区在线观看| 五月天中文字幕一区二区| 一本一道综合狠狠老| 国产三区在线成人av| 久久精品国产久精国产爱| 欧美精品在线视频| 亚洲国产日韩av| 在线观看日韩高清av| 亚洲日本在线观看| 99精品桃花视频在线观看| 国产精品久久久久桃色tv| 国产精品亚洲综合一区在线观看| 欧美一级电影网站| 日本午夜精品一区二区三区电影| 欧美视频完全免费看| 亚洲伦在线观看| 91丨porny丨首页| 亚洲欧洲日本在线| 91玉足脚交白嫩脚丫在线播放| 中文字幕欧美国产| 国产精品一色哟哟哟| 久久久久久久久蜜桃| 国产永久精品大片wwwapp| 欧美精品一区二| 精品一区二区三区在线播放视频| 欧美一级日韩不卡播放免费| 亚洲图片自拍偷拍| 在线播放/欧美激情| 日韩va欧美va亚洲va久久| 日韩三级视频在线看| 激情文学综合网| 国产精品超碰97尤物18| 色综合中文字幕国产| 亚洲精品免费在线| 欧美性猛交一区二区三区精品| 亚洲综合一区在线| 欧美一区二区在线免费观看| 久久精品999| 国产午夜久久久久| 91论坛在线播放| 日精品一区二区| 精品国产一区a| 91精品国产综合久久婷婷香蕉| 裸体一区二区三区| 国产拍欧美日韩视频二区| 97se亚洲国产综合在线| 午夜在线成人av| 久久中文字幕电影| 91在线国产观看| 丝袜亚洲另类欧美综合| 国产网站一区二区|