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

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

?? qr_analysis.cpp

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

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

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

QR_analysis::QR_analysis()
{

}

QR_analysis::~QR_analysis()
{

}
void QR_analysis::run(CMatrix q)
{
	int m,n,i,j;
	n=q.GetNumRows();
	m=q.GetNumCols();
	double T,*row,*col,z;
	row= new double[n];
	col= new double[m];
	T=0;
	for(i=0;i<n;i++)
	{
		row[i]=0;
		for(j=0;j<m;j++)
		{
			row[i]=row[i]+q.GetElement(i,j);
			T=T+q.GetElement(i,j);
		}
	}

	for(j=0;j<m;j++)
	{	col[j]=0;
		for(i=0;i<n;i++)
		{
			col[j]=col[j]+q.GetElement(i,j);
		}
	}

	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			z=(q.GetElement(i,j)-row[i]*col[j]/T)/(sqrt(row[i]*col[j]));
			q.SetElement(i,j,z);
		}
	}

	delete[]row;
	delete[]col;
////////////////////////////////////////////////////////////////////////////////	
	CMatrix Z=q;
	//R_analysis
	//協方差A
	CMatrix A;
	A=Z*Z.Transpose();
	double *pt;
//	int m,n,i,j;
	n=Z.GetNumRows();
	m=Z.GetNumCols();
	pt=new double[n];
	//cout<<"/n特征值和特征向量"<<endl;
	//特征值和特征向量
	//show(A.Eigenv());
	//特征值開方后的對角陣
	CMatrix N(n);
	N.Init(n,n);

	for(i=0;i<n;i++)
	{
		N.SetElement(i,i,sqrt(A.Eigenv().GetElement(0,i)));
	}

	//選擇貢獻率最大的兩個的特征向量和因子載荷陣
	CMatrix U(n,2);
	for(i=0;i<n;i++)
	{
		for(j=0;j<2;j++)
		{
			U.SetElement(i,j,A.Eigenv().GetElement(i+1,j));
		}
	}

	//cout<<"\n R因子載荷陣"<<endl;
	CMatrix Ar(n,2);
	for(j=0;j<2;j++)
	{
		for(i=0;i<n;i++)
		{
			Ar.SetElement(i,j,U.GetElement(i,j)*N.GetElement(j,j));
		}
	}

	//show(Ar);
	result2=Ar;
	//各樣品第一第二主成分值
	//cout<<"\n各樣品的主成分值"<<endl;
	CMatrix RS;
	RS=Z.Transpose()*U;
	//show(RS);
	result1=RS;
	//Q_analysis
	//cout<<"\n Q_analysis"<<endl;
	//對應前面的兩個特征值的在Q中的特征向量和因子載荷陣
	CMatrix V(m);
	V=Z.Transpose()*U;
	//show(V);
	//cout<<"\n Q因子載荷陣"<<endl;
	CMatrix Aq(m,2);

	for(j=0;j<2;j++)
	{
		for(i=0;i<m;i++)
		{
			Aq.SetElement(i,j,V.GetElement(i,j)*N.GetElement(j,j));
		}
	}

	//show(Aq);
	result4=Aq;
	////各變量第一第二主成分值
	//cout<<"\n各變量的主成分值"<<endl;
	CMatrix QS;
	QS=Z*V;
	//show(QS);
	
	result3=QS;

	//畫圖
	//cout<<"\n選取第一和第二主成分的分值為x,y軸,劃出圖"<<endl;
}

void QR_analysis::plot(CMatrix CMatriB,CMatrix CMatriC)
{/*

	LRESULT CALLBACK WinSunProc(
	  HWND hwnd,      // handle to window
	  UINT uMsg,      // message identifier
	  WPARAM wParam,  // first message parameter
	  LPARAM lParam   // second message parameter
	);


	int WINAPI WinMain(
	  HINSTANCE hInstance,      // handle to current instance
	  HINSTANCE hPrevInstance,  // handle to previous instance
	  LPSTR lpCmdLine,          // command line
	  int nCmdShow              // show state
	)
	{
		WNDCLASS wndcls;
		wndcls.cbClsExtra=0;
		wndcls.cbWndExtra=0;
		wndcls.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
		wndcls.hCursor=LoadCursor(NULL,IDC_ARROW);
		wndcls.hIcon=LoadIcon(NULL,IDI_INFORMATION);
		wndcls.hInstance=hInstance;
		wndcls.lpfnWndProc=WinSunProc;
		wndcls.lpszClassName="R_Qanalysis";
		wndcls.lpszMenuName=NULL;
		wndcls.style=CS_HREDRAW | CS_VREDRAW;
		RegisterClass(&wndcls);

		HWND hwnd;
		hwnd=CreateWindow("R_Qanalysis","R-Q對應分析",WS_OVERLAPPEDWINDOW,
			250,100,800,600,NULL,NULL,hInstance,NULL);

		ShowWindow(hwnd,SW_SHOWNORMAL);
		UpdateWindow(hwnd);

		MSG msg;
		while(GetMessage(&msg,NULL,0,0))
		{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}

		return 0;
		
	}

	LRESULT CALLBACK WinSunProc(
	  HWND hwnd,      // handle to window
	  UINT uMsg,      // message identifier
	  WPARAM wParam,  // first message parameter
	  LPARAM lParam   // second message parameter
	)
	{
		switch(uMsg)
		{
		case WM_CHAR:
			//		char szChar[20];
			//		sprintf(szChar,"char is %d",wParam);
			//		MessageBox(hwnd,szChar,"weixin",0);
			break;
		case WM_LBUTTONDOWN:
			//		MessageBox(hwnd,"mouse clicked","R_Qanalysis",0);
			//		HDC hdc;
			//		hdc=GetDC(hwnd);
			//		TextOut(hdc,0,50,"計算機編程語言培訓",strlen("計算機編程語言培訓"));
			//		ReleaseDC(hwnd,hdc);
			break;




		case WM_PAINT:
			{
				HDC hDC;
				PAINTSTRUCT ps;
				hDC=BeginPaint(hwnd,&ps);
				//CRect rectClient;
				//GetClientRect(hDC,&rectClient);		
			
				double value1[12]={0.2368,0.2471,0.2568,1.2671,1.1161,0.1254,0.1397,0.149,0.1582,1.1675,0.1768,0.1871};
				CMatrix MatrixA(6,2,value1);
				double value2[6]={0.234,0.2342,0.3534,1.2323,0.2432,1.323};
				CMatrix MatrixB(3,2,value2);



				int n,m,i,j;
				n=MatrixA.GetNumRows();
				m=MatrixB.GetNumRows();
				//////////數據矩陣
				for(i=0;i<n;i++)
				{
					CString str1,str2;
					str1.Format("%f",MatrixA.GetElement(i,0));
					TextOut(hDC,50,20*i,str1,strlen(str1));
					str2.Format("%f",MatrixA.GetElement(i,1));
					TextOut(hDC,150,20*i,str2,strlen(str2));
				}

				for(i=0;i<m;i++)
				{
					CString str1,str2;
					str1.Format("%f",MatrixB.GetElement(i,0));
					TextOut(hDC,250,20*i,str1,strlen(str1));
					str2.Format("%f",MatrixB.GetElement(i,1));
					TextOut(hDC,350,20*i,str2,strlen(str2));
				}
			
				const double xOrg=150,yOrg=400;
				const double xMax=650,yMin=100;
				///////////實際數據的x,y最大值最小值		
				double dbXMax=MatrixA.GetElement(0,0),dbXMin=MatrixA.GetElement(0,0);
				double dbYMax=MatrixA.GetElement(0,1),dbYMin=MatrixA.GetElement(0,1);
				for(i=0;i<n-1;i++)
				{
					dbXMax=dbXMax>MatrixA.GetElement(i+1,0)?dbXMax:MatrixA.GetElement(i+1,0);
					dbXMin=MatrixA.GetElement(i+1,0)>dbXMin?dbXMin:MatrixA.GetElement(i+1,0);
					dbYMax=dbYMax>MatrixA.GetElement(i+1,1)?dbYMax:MatrixA.GetElement(i+1,1);
					dbYMin=dbYMin<MatrixA.GetElement(i+1,1)?dbYMin:MatrixA.GetElement(i+1,1);					
				}

				for(i=0;i<m;i++)
				{
					dbXMax=dbXMax>MatrixB.GetElement(i,0)?dbXMax:MatrixB.GetElement(i,0);
					dbXMin=MatrixB.GetElement(i,0)>dbXMin?dbXMin:MatrixB.GetElement(i,0);
					dbYMax=dbYMax>MatrixB.GetElement(i,1)?dbYMax:MatrixB.GetElement(i,1);
					dbYMin=dbYMin<MatrixB.GetElement(i,1)?dbYMin:MatrixB.GetElement(i,1);					
				}
			
				////////////換算比例	
				double dbXRatio=(xMax-xOrg)/(dbXMax-dbXMin);
				double dbYRatio=(yOrg-yMin)/(dbYMax-dbYMin);

			
				//	CString str;
				//	str.Format("%f",dbYMin);
				//	TextOut(hDC,400,500,str,strlen(str));
			
				////////////填色
				CPen penNewPen(PS_SOLID,1,RGB(0,0,255));
				CPen *ppenOldPen=(CPen *)SelectObject(hDC,&penNewPen);
				CBrush brushNewBrush(RGB(0,0,255));
				CBrush *pbrushOldBrush=(CBrush *)SelectObject(hDC,brushNewBrush);

				////////////畫點
				double x,y;
				for(i=0;i<n;i++)
				{
					x=dbXRatio*(MatrixA.GetElement(i,0)-dbXMin)+xOrg;
					y=yOrg-dbYRatio*(MatrixA.GetElement(i,1)-dbYMin);
					Ellipse(hDC,x-3,y-3,x+3,y+3);
					CString str;
					str.Format("%d",i+1);
					TextOut(hDC,x+6,y,str,strlen(str));

				}

				for(i=0;i<m;i++)
				{
					x=dbXRatio*(MatrixB.GetElement(i,0)-dbXMin)+xOrg;
					y=yOrg-dbYRatio*(MatrixB.GetElement(i,1)-dbYMin);
					Rectangle(hDC,x-3,y-3,x+3,y+3);
					CString str;
					str.Format("%d",i+1);
					TextOut(hDC,x+6,y,str,strlen(str));

				}
			
				///////////畫軸		
				double ox,oy;
				ox=dbXRatio*(0-dbXMin)+xOrg;
				oy=yOrg-dbYRatio*(0-dbYMin);
				Ellipse(hDC,ox-5,oy-5,ox+5,oy+5);
				MoveToEx(hDC,20,oy,0);
				LineTo(hDC,750,oy);
				LineTo(hDC,730,oy-10);
				MoveToEx(hDC,750,oy,0);
				LineTo(hDC,730,oy+10);
				MoveToEx(hDC,ox,530,0);
				LineTo(hDC,ox,30);
				LineTo(hDC,ox+10,50);
				MoveToEx(hDC,ox,30,0);
				LineTo(hDC,ox-10,50);
				CString str;
				str="(0,0)";
				TextOut(hDC,ox+5,oy+5,str,strlen(str));

				EndPaint(hwnd,&ps);
				break;
			}
		case WM_CLOSE:
			if(IDYES==MessageBox(hwnd,"是否真的結束?","weixin",MB_YESNO))
			{
				DestroyWindow(hwnd);
			}
			break;
		case WM_DESTROY:
			PostQuitMessage(0);
			break;
		default:
			return DefWindowProc(hwnd,uMsg,wParam,lParam);
		}
		return 0;
	}*/

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线不卡a资源高清| 国产精品全国免费观看高清| 欧美精品一区二区在线观看| 亚洲欧美激情一区二区| 九色综合狠狠综合久久| 91福利小视频| 日本一二三不卡| 国产在线精品免费av| 欧美狂野另类xxxxoooo| 亚洲欧美日韩中文字幕一区二区三区 | 一区二区三区精品在线| 国产精品资源在线观看| 欧美一区二区三区精品| 亚洲国产日韩一区二区| 95精品视频在线| 中文字幕视频一区| 国产精品亚洲视频| 久久久久九九视频| 国产毛片精品国产一区二区三区| 在线播放91灌醉迷j高跟美女| 亚洲日韩欧美一区二区在线| www.欧美精品一二区| 日本一区二区三区四区| 国产精品白丝jk白祙喷水网站 | www国产成人免费观看视频 深夜成人网| 一区二区三区精品视频在线| 色综合天天综合| 成人欧美一区二区三区小说| 成人午夜大片免费观看| 中文成人综合网| 9i在线看片成人免费| 亚洲欧洲日韩综合一区二区| 国产成人精品亚洲午夜麻豆| 久久久亚洲综合| 国产99久久久国产精品免费看| 欧美激情中文不卡| av网站免费线看精品| 亚洲人精品午夜| 欧美在线短视频| 亚洲成人www| 日韩一区二区三区三四区视频在线观看 | 99视频精品全部免费在线| 国产精品久久久久久久久动漫 | 欧美一二三区在线| 美女www一区二区| 久久人人97超碰com| 成人开心网精品视频| 亚洲欧美韩国综合色| 欧美亚洲自拍偷拍| 免费成人在线观看视频| 久久精品视频在线免费观看| av中文字幕亚洲| 午夜精品一区二区三区免费视频| 91精品国产丝袜白色高跟鞋| 国产在线不卡视频| 最新不卡av在线| 91麻豆精品国产91久久久久久久久 | 亚洲最色的网站| 欧美一区二区观看视频| 国产精品一区二区你懂的| 综合亚洲深深色噜噜狠狠网站| 欧美日韩日日摸| 国产麻豆视频一区二区| 洋洋成人永久网站入口| www一区二区| 欧美在线视频不卡| 国产一区二区在线看| 一区二区在线看| 久久精品人人做人人综合| 欧美亚一区二区| 国产福利91精品| 午夜成人免费电影| 欧美激情一区二区三区全黄| 制服丝袜亚洲网站| 99精品国产视频| 国产一区二区主播在线| 亚洲五码中文字幕| 国产精品三级在线观看| 欧美一区二区三区婷婷月色 | 中文字幕字幕中文在线中不卡视频| 911精品国产一区二区在线| 国产成人欧美日韩在线电影| 亚洲v精品v日韩v欧美v专区| 中文字幕中文在线不卡住| 日韩一级片在线观看| 色94色欧美sute亚洲线路一久| 极品销魂美女一区二区三区| 亚洲成人精品影院| 亚洲人吸女人奶水| 国产精品对白交换视频 | 91麻豆精品国产自产在线 | 国产成人av电影在线播放| 婷婷综合在线观看| 一区二区激情视频| 亚洲天堂久久久久久久| 久久久久久久久久电影| 欧美草草影院在线视频| 欧美日韩一区小说| 91在线国产观看| 91影视在线播放| 成人av电影免费在线播放| 国产综合成人久久大片91| 麻豆精品视频在线观看免费| 日本午夜精品视频在线观看| 亚洲一区二区高清| 亚洲综合在线观看视频| 亚洲日本青草视频在线怡红院| 日本一区二区不卡视频| 欧美国产日产图区| 国产精品福利一区二区三区| 中文欧美字幕免费| 18欧美乱大交hd1984| 欧美极品aⅴ影院| 国产精品久久午夜| 亚洲视频在线一区| 亚洲精品伦理在线| 亚洲午夜电影在线| 三级一区在线视频先锋 | 成人av在线看| www.色精品| 91麻豆6部合集magnet| 欧美中文字幕一二三区视频| 欧美三级中文字幕在线观看| 欧美精品在线视频| 精品国产乱码久久久久久牛牛| 精品久久久久久久久久久久包黑料 | 国产一区二区三区精品视频| 国产精品99久久久久| 国产成人h网站| 99久精品国产| 欧美日韩激情一区| 日韩午夜三级在线| 国产拍揄自揄精品视频麻豆| 国产精品女同一区二区三区| 亚洲色图视频免费播放| 亚洲一区二区三区精品在线| 免费一级片91| 成人高清在线视频| 欧美图区在线视频| 精品国产一区二区亚洲人成毛片| 国产欧美日韩久久| 亚洲一区二区三区四区不卡| 久久9热精品视频| 99久久久免费精品国产一区二区| 在线精品视频免费观看| 91精品欧美福利在线观看| 国产亚洲欧美激情| 亚洲综合在线观看视频| 黑人巨大精品欧美一区| 色综合久久中文综合久久97| 欧美一级在线视频| 国产精品久久久久桃色tv| 舔着乳尖日韩一区| 99天天综合性| 日韩欧美中文字幕公布| 亚洲另类色综合网站| 国产一区二区在线观看视频| 色成人在线视频| 精品久久久久一区二区国产| 一区二区成人在线视频| 国产精华液一区二区三区| 91精品国产综合久久精品| 国产精品美女久久久久久| 青青青爽久久午夜综合久久午夜| 97se亚洲国产综合自在线不卡| 欧美一区二区三区电影| 亚洲综合一区二区三区| 波多野结衣在线aⅴ中文字幕不卡| 3atv在线一区二区三区| 伊人夜夜躁av伊人久久| 成人成人成人在线视频| 26uuu国产一区二区三区| 天堂va蜜桃一区二区三区漫画版| jlzzjlzz亚洲日本少妇| 久久综合九色综合欧美就去吻 | 欧美一区二区三区免费在线看| 国产精品传媒视频| 国产成人精品一区二区三区网站观看| 欧美精品在线一区二区| 一区二区三区四区不卡视频| 成人免费黄色在线| 久久久国产精品午夜一区ai换脸| 天堂成人国产精品一区| 欧美日韩午夜在线| 一区二区三区精品| 在线免费观看视频一区| 亚洲手机成人高清视频| 99这里只有精品| 最新高清无码专区| jizzjizzjizz欧美| 亚洲国产精华液网站w| 成人三级伦理片| 国产精品日日摸夜夜摸av| 国产精品一区免费视频| 国产色产综合产在线视频| 国产一区二区三区精品视频| 久久精品免视看| 成人免费观看男女羞羞视频| 国产精品久久久久久久久免费丝袜 | 亚洲人成在线播放网站岛国 |