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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? program2dlg.cpp

?? 用MFC實(shí)現(xiàn)的數(shù)據(jù)主成份分析
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
						for(j=tabelCols+1;j<=SS.GetTotalColumns();j++)
						{

							m_FlexGrid.SetCol(j-tabelCols);
							s=Rows.GetAt(j-1);
								if(s=="")
									m_FlexGrid.SetText("0.0000");
								if(IsNumber(s))
								{
									m_FlexGrid.SetText(s);
								}
								
							
						}
					}
					ShowWindow(SW_RESTORE);//顯示窗口
					
				}
			}
		}
	}

}
/////////////////////////////////////////////////
///
///
///導(dǎo)出數(shù)據(jù)到Excel
void CProGram2Dlg::OnMENU1PutOut() 
{
	// TODO: Add your command handler code here
	//導(dǎo)出標(biāo)簽列沒有涉及
	if(m_MeanRows==0||m_MeanCols==0)
	{
		MessageBox("    不能保存空數(shù)據(jù)    ","出錯啦");
		return;
	}

	CFileDialog File(false,NULL,"數(shù)據(jù).xls",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"表格(*.xls)|*.xls||");
	if(File.DoModal()==IDOK)
	{
		int i,j;
		CString s;
		CString sPath=File.GetPathName();

		CSpreadSheet SS(sPath, "Sheet1");

		CStringArray sampleArray, testRow;
	
		SS.BeginTransaction();
//		MessageBox(sPath);
	///
//		s.Format("%d",m_IsDataFromExcel);
//		MessageBox(s);//測試是否數(shù)據(jù)來自excel文件
		///
    	if(m_IsDataHasTabel)//數(shù)據(jù)來自表格,有標(biāo)題行
		{
			sampleArray.RemoveAll();
			for(i=1;i<=m_MeanCols;i++)
			{

				sampleArray.Add(m_FlexGrid.GetTextMatrix(0,i));
			}
			SS.AddHeaders(sampleArray);
		}
		for(i=1;i<=m_MeanRows;i++)
		{
			sampleArray.RemoveAll();
			for(j=1;j<=m_MeanCols;j++)
			{
				s=m_FlexGrid.GetTextMatrix(i,j);
				sampleArray.Add(s);
			}
			SS.AddRow(sampleArray);
		}
		AfxMessageBox("文件寫入成功!");
	}
	
}
void CProGram2Dlg::OnMenu1Clearn() 
{
	// TODO: Add your command handler code here
	ShowWindow(SW_MINIMIZE);//隱藏窗口,在后臺錄入數(shù)據(jù)
					
	UpdateData(true);
	m_IsDataHasTabel=0;
	m_IsDataHasTabelOnCol=0;
	m_MeanRows=0;//有效行列初始化
	m_MeanCols=0;
	UpdateData(false);
	m_FlexGrid.Clear();
	m_FlexGrid.SetCols(m_NumCols);
	m_FlexGrid.SetRows(m_NumRows);
	m_FlexGrid.SetRow(0);
	m_FlexGrid.SetCol(0);
	m_FlexGrid.SetText("品種\\性狀");
	m_FlexGrid.SetRow(0);
	CString s;
	for(int i=1;i<m_NumCols;i++)
	{
		m_FlexGrid.SetCol(i);
		s.Format("   %d ",i);
		m_FlexGrid.SetText(s);
	}
	m_FlexGrid.SetCol(0);
	for(i=1;i<m_NumRows;i++)
	{
		m_FlexGrid.SetRow(i);
		s.Format("   %d ",i);
		m_FlexGrid.SetText(s);
	}
	m_Change.ShowWindow(SW_HIDE);
	ShowWindow(SW_RESTORE);//顯示窗口
}

void CProGram2Dlg::OnMenu1New() 
{
	// TODO: Add your command handler code here
	ShowWindow(SW_MINIMIZE);//隱藏窗口,在后臺錄入數(shù)據(jù)
					
	m_FlexGrid.Clear();
	UpdateData(true);
	m_IsDataHasTabel=0;
	m_IsDataHasTabelOnCol=0;
	m_MeanRows=0;//有效行列初始化
	m_MeanCols=0;
	UpdateData(false);
	m_NumRows=300;
	m_NumCols=100;
	m_FlexGrid.SetCols(m_NumCols);
	m_FlexGrid.SetRows(m_NumRows);
	m_FlexGrid.SetRow(0);
	m_FlexGrid.SetCol(0);
	m_FlexGrid.SetText("品種\\性狀");
	m_FlexGrid.SetRow(0);
	CString s;
	for(int i=1;i<m_NumCols;i++)
	{
		m_FlexGrid.SetCol(i);
		s.Format("   %d ",i);
		m_FlexGrid.SetText(s);
	}
	m_FlexGrid.SetCol(0);
	for(i=1;i<m_NumRows;i++)
	{
		m_FlexGrid.SetRow(i);
		s.Format("   %d ",i);
		m_FlexGrid.SetText(s);
	}
	m_Change.ShowWindow(SW_HIDE);
	ShowWindow(SW_RESTORE);//顯示窗口
}
void CProGram2Dlg::OnMenu1Exit() 
{
	// TODO: Add your command handler code here
	CSureExit dlg;
	if(dlg.DoModal()==IDOK)
		OnMENU1PutOut();
	else
		exit(0);
}

void CProGram2Dlg::OnMenu2Main() 
{	// TODO: Add your command handler code here
	//數(shù)據(jù)更新測試
//	CString s;
//	s.Format("%d---%d;;;;%d---%d",m_MeanRows,m_MeanCols,m_lRow,m_lCol);
//	MessageBox(s);
	//
	MainFactorsData dlg;
	dlg.m_MeanRows=m_MeanRows;
	dlg.m_MeanCols=m_MeanCols;
	dlg.m_OfferRate=0.80;
	if(dlg.DoModal()==IDOK)
	{		
		if(dlg.m_MeanCols<=0||dlg.m_MeanRows<=0)
		{
			MessageBox("    錯誤的有效行列數(shù)!    ","出錯啦");
			return;
		}
		if(dlg.m_ModoKind==2)
		{
			MessageBox("   沒有選擇分析模型!    ","出錯啦");
			return;
		}
		//Add our program on Main here
		/*
		CMatrix m_Matrix2;			//標(biāo)準(zhǔn)化樣本數(shù)據(jù)
		CMatrix m_Result1;			//存放主成分的特征根,貢獻(xiàn)率和累計(jì)貢獻(xiàn)率
		CMatrix m_Result2;			//存放主成分系數(shù)
		CMatrix m_Result3;			//存放樣品的主成分得分值
		CMatrix m_Result4;			//主成分載荷因子
		*/
		CMatrix Data(ReadDataToMatrix(dlg.m_MeanRows,dlg.m_MeanCols));
		Data=Data.Transpose();
		MainFactor mainfactor(Data,dlg.m_OfferRate,dlg.m_ModoKind);
		mainfactor.Analyze1();
		CMatrix *a;
		a=new CMatrix[5];
		a[0]=mainfactor.m_Matrix2;
		a[1]=mainfactor.m_Result1;
		a[2]=mainfactor.m_Result2;
		a[3]=mainfactor.m_Result3;
		a[4]=mainfactor.m_Result4;
		int J[5]={1,mainfactor.m_mainNum,1,1,1};//5個矩陣均需要輸出
		CResultDlg result;
		result.TranMemberNumber(1,a,5,J);
		result.DoModal();

	}	
	

}

void CProGram2Dlg::OnMENU2ONorIN() 
{// TODO: Add your command handler code here
	ONorINData dlg;
	dlg.m_MeanRows=m_MeanRows;
	dlg.m_MeanCols=m_MeanCols;
	dlg.m_OfferRate=0.80;
	if(dlg.DoModal()==IDOK)
	{	
		if(dlg.m_MeanCols<=0||dlg.m_MeanRows<=0)
		{
			MessageBox("    錯誤的有效行列數(shù)!    ","出錯啦");
			return;
		}//Add our program on ONorIN here
		CMatrix a(ReadDataToMatrix(dlg.m_MeanRows,dlg.m_MeanCols));
		a=a.Transpose();
		QR_analysis analysis;
		analysis.run(a);
		CMatrix *Data;
		Data=new CMatrix[4];
		Data[0]=analysis.result1;
		Data[1]=analysis.result2;
		Data[2]=analysis.result3;
		Data[3]=analysis.result4;
		int J[4]={1,1,1,1};
		CResultDlg result;
		result.TranMemberNumber(2,Data,4,J);
		result.DoModal();
	}
}

void CProGram2Dlg::OnMenu2Factors() 
{// TODO: Add your command handler code here
	FactorsData dlg;
	dlg.m_MeanRows=m_MeanRows;
	dlg.m_MeanCols=m_MeanCols;
	dlg.m_OfferRate=0.80;
	if(dlg.DoModal()==IDOK)
	{		
		if(dlg.m_MeanCols<=0||dlg.m_MeanRows<=0)
		{
			MessageBox("    錯誤的有效行列數(shù)!    ","出錯啦");
			return;
		}
		//Add our program on Factors here
		//在這里定義解決方法的類,并得到結(jié)果

		///讀和傳輸矩陣測試
		CMatrix a;
		a=ReadDataToMatrix(dlg.m_MeanRows,dlg.m_MeanCols);

		Factor factor(a,dlg.m_OfferRate);
		factor.Run();
		CMatrix *Data;
		Data=new CMatrix[7];
		Data[0]=factor.X;//原數(shù)據(jù),最后為標(biāo)準(zhǔn)化后的數(shù)據(jù)
		Data[1]=factor.R;//相關(guān)矩陣P*P
		Data[2]=factor.te_R;//特征值和特征矩陣
		CMatrix A1((int)factor.p,(int)factor.m_ColsOfA+2);
		for(int i=0;i<factor.p;i++)
		{
			for(int j=0;j<factor.m_ColsOfA;j++)
			{
				A1.SetElement(i,j,factor.A.GetElement(i,j));
			}
			double *t=factor.h2;
			A1.SetElement(i,(int)factor.m_ColsOfA,t[i]*t[i]);
			A1.SetElement(i,(int)factor.m_ColsOfA+1,1-t[i]*t[i]);
		}
		Data[3]=factor.A;//因子載荷陣p*p
		Data[4]=A1;//因子載荷陣p*m+h2+a2
		Data[5]=factor.B;//正交旋轉(zhuǎn)后的主因子載荷陣p*m
		Data[6]=factor.F;//因子得分m_ColsOfA*p
		int J[7]={dlg.m_CHECK1,dlg.m_CHECK2,dlg.m_CHECK3,dlg.m_CHECK4,1,((factor.m_ColsOfA>=2)? 1:0),1};

		CResultDlg result;
		
		result.TranMemberNumber(3,Data,7,J);//結(jié)果傳輸
		result.DoModal();
		
	}
}

void CProGram2Dlg::OnMenu3Help() 
{
	// TODO: Add your command handler code here
	ShellExecute(NULL, "open", "使用說明.pdf", NULL, NULL, SW_SHOWNORMAL);
	ShowWindow(SW_MINIMIZE);
}
void CProGram2Dlg::OnMenu3About() 
{
	// TODO: Add your command handler code here
	CAboutDlg dl;
	dl.DoModal();
}
///////////////////////////////////////////////////////
///
///
///行列增減控制按鈕
void CProGram2Dlg::OnBuntonRowDown() 
{
	// TODO: Add your control notification handler code here
	if(m_NumRows>1)
	{
		m_NumRows-=1;
		m_FlexGrid.SetRows(m_NumRows);
	}
}

void CProGram2Dlg::OnButtonColDown() 
{
	// TODO: Add your control notification handler code here
	if(m_NumCols>1)
	{
		m_NumCols-=1;
		m_FlexGrid.SetCols(m_NumCols);
	}	
}

void CProGram2Dlg::OnButtonColUp() 
{
	// TODO: Add your control notification handler code here
		
		m_NumCols+=1;
		m_FlexGrid.SetCols(m_NumCols);

		m_FlexGrid.SetRow(0);
		m_FlexGrid.SetCol(m_NumCols-1);
		CString s;
		s.Format("   %d",m_NumCols-1);
		m_FlexGrid.SetText(s);
}

void CProGram2Dlg::OnButtonRowUp() 
{
	// TODO: Add your control notification handler code here
		m_NumRows+=1;
		m_FlexGrid.SetRows(m_NumRows);
		m_FlexGrid.SetCol(0);
		m_FlexGrid.SetRow(m_NumRows-1);
		CString s;
		s.Format("   %d",m_NumRows-1);
		m_FlexGrid.SetText(s);
}
/////////////////////////////////////////////////////////////////////
///
///
///對話框失去焦點(diǎn),取值
void CProGram2Dlg::OnKillfocusEditChange() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	if(m_sChange=="")
		return;
	if(IsNumber(m_sChange))
	{
		m_MeanRows=((m_lRow>m_MeanRows)? m_lRow:m_MeanRows);
		m_MeanCols=((m_lCol>m_MeanCols)? m_lCol:m_MeanCols);
		m_FlexGrid.SetText(m_sChange);
		m_Change.ShowWindow(SW_HIDE);
		m_sChange="";
	}
	else
	{
		MessageBox("   請輸入數(shù)值型數(shù)據(jù)!  ","出錯啦");
		m_FlexGrid.SetText("");
	}
	UpdateData(false);
	
}
///
///
///判斷CString是否為數(shù)據(jù)類型的
bool CProGram2Dlg::IsNumber(CString str)
{
	if(!str.GetLength())
		return false;
	char ch;
	for(int i=0;i<str.GetLength();i++)
	{
		ch=str[i];
		if(ch!=45 && ch!=46 && ch<48 || ch>57)
			return false;
	}
	return true;
}
///
///
///按照有效行列數(shù)讀取數(shù)據(jù)
CMatrix CProGram2Dlg::ReadDataToMatrix(int Rows,int Cols)
{
	int i,j;
	CString s,c;
	CMatrix result(Rows,Cols);	
	for(i=1;i<=Rows;i++)
	{
		for(j=1;j<=Cols;j++)
		{
			s=m_FlexGrid.GetTextMatrix(i,j);
//			c.Format("%f",(double)atof(s));
//			MessageBox(c);
			result.SetElement(i-1,j-1,(double)atof(s));
		}
	}
//	MessageBox("讀數(shù)據(jù)完成");
	return result;
}
void CProGram2Dlg::showMatrix(CMatrix a)
{
	if(a.GetNumCols==0)
		return;
	CString s,c;
	for(int i=0;i<a.GetNumRows();i++)
	{
		s="";
		for(int j=0;j<a.GetNumCols();j++)
		{
			c.Format("    %f",(double)a.GetElement(i,j));
			s=s+c;
		}
		MessageBox(s);
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性色aⅴ视频一区日韩精品| 久久99久久久欧美国产| 国产精品女同一区二区三区| 欧美r级电影在线观看| 日韩一级片网站| 久久―日本道色综合久久| 久久久青草青青国产亚洲免观| wwwwww.欧美系列| 中文字幕一区二区三区不卡在线 | 精品国产乱码久久久久久久| 制服.丝袜.亚洲.另类.中文| 日韩精品一区二区在线| 久久久亚洲欧洲日产国码αv| 国产亚洲欧美色| 成人欧美一区二区三区| 亚洲制服丝袜av| 日本欧美韩国一区三区| 国产一区在线观看视频| 波多野结衣在线一区| 91高清视频在线| 91精品国产色综合久久不卡电影| 久久久综合网站| 一区二区视频在线| 六月丁香综合在线视频| 9i看片成人免费高清| 69久久夜色精品国产69蝌蚪网| 久久久久99精品国产片| 亚洲精品老司机| 蜜桃久久久久久| 99精品在线观看视频| 欧美精品粉嫩高潮一区二区| 国产午夜精品在线观看| 亚洲成人www| 国产精品亚洲一区二区三区在线| 精品免费日韩av| 中文字幕一区不卡| 免费成人在线网站| 91久久免费观看| 精品动漫一区二区三区在线观看| 亚洲免费在线观看视频| 激情六月婷婷综合| 欧美日韩精品一区视频| 18欧美亚洲精品| 国产麻豆精品久久一二三| 欧美系列在线观看| 亚洲欧洲日韩在线| 国产一区久久久| 欧美精选午夜久久久乱码6080| 国产精品久久久久久妇女6080| 免费欧美高清视频| 精品视频一区二区不卡| 1024成人网| 波多野结衣一区二区三区| 日韩亚洲欧美高清| 午夜久久电影网| 91成人国产精品| 国产精品乱人伦| 国产黑丝在线一区二区三区| 欧美变态凌虐bdsm| 日韩精品亚洲专区| 欧美专区在线观看一区| 亚洲天堂2016| 99久久婷婷国产综合精品| 一区二区三区在线视频观看| 97国产精品videossex| 亚洲国产精品av| 久久黄色级2电影| 日韩欧美一卡二卡| 另类小说综合欧美亚洲| 欧美一区欧美二区| 美女mm1313爽爽久久久蜜臀| 欧美一区二区三区影视| 日韩福利视频导航| 欧美成人三级在线| 国产一区不卡视频| 国产欧美日韩一区二区三区在线观看| 久久国产乱子精品免费女| 日韩欧美成人激情| 国产麻豆欧美日韩一区| 欧美国产一区在线| 不卡一卡二卡三乱码免费网站| 亚洲国产高清不卡| 97久久超碰精品国产| 有坂深雪av一区二区精品| 欧美三区在线观看| 视频一区二区欧美| 久久久久久一级片| 97国产一区二区| 香蕉成人啪国产精品视频综合网| 日韩区在线观看| 高清在线成人网| 亚洲码国产岛国毛片在线| 欧美三级电影网| 久久99久国产精品黄毛片色诱| 26uuu精品一区二区| 99re这里只有精品首页| 三级影片在线观看欧美日韩一区二区| 日韩亚洲欧美中文三级| 成人美女视频在线观看18| 亚洲精品免费在线播放| 欧美精品丝袜中出| 国产精品69久久久久水密桃| 亚洲欧美一区二区久久| 7777精品伊人久久久大香线蕉超级流畅 | 日韩精品午夜视频| 久久嫩草精品久久久久| 91麻豆蜜桃一区二区三区| 日日夜夜精品视频免费| 亚洲国产精品二十页| 欧美性videosxxxxx| 国产精品一区二区在线看| 日韩毛片在线免费观看| 日韩精品一区二区三区视频在线观看 | 亚洲综合偷拍欧美一区色| 欧美一级高清片在线观看| 成人激情小说乱人伦| 图片区日韩欧美亚洲| 日本欧美一区二区| 国产精品视频在线看| 欧美人妇做爰xxxⅹ性高电影| 国产不卡一区视频| 日韩av高清在线观看| 国产精品欧美极品| 欧美成人性福生活免费看| 欧美在线free| 成人国产免费视频| 美国av一区二区| 亚洲国产成人av好男人在线观看| 久久久久久久久久久久电影| 91精品国产麻豆| 欧美日韩国产一级| 色妞www精品视频| 国产99久久久国产精品| 男人的j进女人的j一区| 一区二区三区波多野结衣在线观看| 国产日本欧洲亚洲| 久久综合色鬼综合色| 欧美精品丝袜久久久中文字幕| 97精品视频在线观看自产线路二| 粉嫩aⅴ一区二区三区四区五区| 久久97超碰色| 另类小说欧美激情| 狠狠久久亚洲欧美| 久久黄色级2电影| 日本不卡视频一二三区| 青青青爽久久午夜综合久久午夜| 亚洲香肠在线观看| 亚洲一线二线三线久久久| 亚洲伦在线观看| 一区二区三区四区在线免费观看 | 久久久精品天堂| 国产丝袜美腿一区二区三区| 国产亚洲欧美日韩日本| 国产女同性恋一区二区| 美女诱惑一区二区| 日韩成人精品在线| 精品一区二区三区视频在线观看 | 成人高清在线视频| 99国产精品久久| 91黄色免费观看| 欧美日韩国产一级片| 日韩视频免费观看高清完整版 | 玉米视频成人免费看| 一区二区三区美女视频| 亚洲第一在线综合网站| 五月天激情小说综合| 捆绑调教美女网站视频一区| 国产在线看一区| 91色porny| 欧美精品乱码久久久久久按摩| 日韩美女一区二区三区四区| 久久中文字幕电影| 亚洲日本护士毛茸茸| 亚洲国产精品一区二区尤物区| 免费观看在线综合| thepron国产精品| 欧美日韩精品一二三区| 欧美成人一级视频| 亚洲婷婷国产精品电影人久久| 亚洲成a人片综合在线| 激情都市一区二区| 91麻豆免费观看| 91精品国产乱码| 亚洲欧洲精品一区二区三区| 日本视频一区二区三区| 成人福利视频在线看| 日韩一区和二区| 一区二区中文字幕在线| 另类小说一区二区三区| 91麻豆国产在线观看| 精品国产污污免费网站入口| 亚洲乱码精品一二三四区日韩在线| 蜜芽一区二区三区| 色综合一个色综合| 久久嫩草精品久久久精品| 性久久久久久久久久久久| 成人av在线影院| 26uuu国产电影一区二区| 一区二区三区四区国产精品| 国产一区二区三区在线观看精品|