資源簡介
vc實現KL變換。基于vs2010平臺, 正常運行,結果理想,內含較為清晰的注解。

代碼片段和文件信息
//?calcMatrixEigenvalues.cpp:?implementation?of?the?CalcMatrixEigenvalues?class.
//
//////////////////////////////////////////////////////////////////////
#include?“stdafx.h“
#include?“UseLibrary.h“
#include?“calcMatrixEigenvalues.h“
#include?“math.h“
#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CalcMatrixEigenvalues::CalcMatrixEigenvalues()
{
}
CalcMatrixEigenvalues::~CalcMatrixEigenvalues()
{
}
double*?CalcMatrixEigenvalues::calcEigenvalue(double?**pMatrix?int?dimension)
{
double?**?pMatrixCpy?=?new?double?*[dimension];
for(int?i?=?0;?i? pMatrixCpy[i]?=?new?double[dimension];
for(i?=?0;?i? for(int?j?=?0;?j? pMatrixCpy[i][j]?=?pMatrix[i][j];
double?e?=?0.0000001;
double?maxL?=?100;
int?mnpqyz;
//?int?dimension?=?3;
/*
double?**a?=?new?double*[dimension];
for(int?i?=?0;?i? *(a?+?i)?=?new?double[dimension];
a[0][0]?=?5;
a[0][1]?=?-3;
a[0][2]?=?2;
a[1][0]?=?6;
a[1][1]?=?-4;
a[1][2]?=?4;
a[2][0]?=?4;
a[2][1]?=?-4;
a[2][2]?=?5;
*/
/*
for(i=0;i {
for(j=0;j {
if(j==i)?a[i][j]?=?1.5*cos(i+1+1.2*(j+1));
else?a[i][j]=sin(0.5*(i+1)+0.2*(j+1));
}
}
*/
double?**a?=?upperTriangle(pMatrixCpy?dimension);
/*
cout<<“擬上三角化矩陣A(n-1)為:“< for(i=0;i {
for(j=0;j ????????cout< }
cout<
*/
//QR算法計算A的特征值
double?*v?=?new?double[dimension];
for(i?=?0;?i? *(v?+?i)?=?0;
double?s1s2sto;
m?=?dimension?-?1;
????n?=?0;
z?=?0;
double?**temp1?=?new?double*[dimension];
double?**a1?=?new?double*[dimension];
for(i?=?0;?i? {
*(temp1?+?i)?=?new?double[dimension];
*(a1?+?i)?=?new?double[dimension];
}
for(i?=?0;?i? for(int?j?=?0;?j? {
temp1[i][j]?=?0;
a1[i][j]?=?a[i][j];
}
step3:
if(fabs(a1[m][m-1])<=e)?
{
v[n]=a1[m][m];
n++;
m=m-1;
goto?step4;
}
else?goto?step5;
step4:
if(m==0)
{
v[n]=a1[0][0];n++;
goto?step11;
}
else?goto?step3;
step5:
s=a1[m-1][m-1]+a1[m][m];
t=a1[m-1][m-1]*a1[m][m]-a1[m-1][m]*a1[m][m-1];
o=s*s-4*t;
s1=(s+sqrt(s*s-4*t))/2;
s2=(s-sqrt(s*s-4*t))/2;
if(m==1)
{
if(o>=0)
{
????v[n]=s1;n++;
????v[n]=s2;n++;
}
else?
o?=?fabs(o);
goto?step11;
}
else?goto?step7;
step7:
if(fabs(a1[m-1][m-2])<=e)
{
if(o>=0)
{
????v[n]=s1;n++;
????v[n]=s2;n++;
}
else
o?=?fabs(o);
m=m-2;
goto?step4;
}
else?goto?ste
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-03-10?19:41??UseLibrary?-?副本\
?????文件????????3324??2013-03-09?11:41??UseLibrary?-?副本\寫灰白bmp.txt
?????目錄???????????0??2013-03-10?19:41??UseLibrary?-?副本\李凱2010302590172\
?????文件???????10748??2013-03-09?22:04??UseLibrary?-?副本\李凱2010302590172\calcMatrixEigenvalues.cpp
?????文件????????1080??2013-03-08?18:44??UseLibrary?-?副本\李凱2010302590172\calcMatrixEigenvalues.h
?????文件????????1537??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\ChildFrm.cpp
?????文件????????1397??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\ChildFrm.h
?????目錄???????????0??2013-03-10?19:41??UseLibrary?-?副本\李凱2010302590172\DATA\
?????文件??????975894??2013-03-09?12:46??UseLibrary?-?副本\李凱2010302590172\DATA\Color.bmp
?????文件??????106539??2009-02-19?21:33??UseLibrary?-?副本\李凱2010302590172\DIB.dll
?????文件????????3936??2009-02-19?21:33??UseLibrary?-?副本\李凱2010302590172\DIB.lib
?????文件?????????563??2013-03-04?10:59??UseLibrary?-?副本\李凱2010302590172\KLTransfer.cpp
?????文件?????????526??2013-03-04?10:59??UseLibrary?-?副本\李凱2010302590172\KLTransfer.h
?????文件????????2527??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\MainFrm.cpp
?????文件????????1542??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\MainFrm.h
?????文件????????4874??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\ReadMe.txt
?????目錄???????????0??2013-03-10?19:41??UseLibrary?-?副本\李凱2010302590172\res\
?????文件?????????644??2013-03-04?11:24??UseLibrary?-?副本\李凱2010302590172\resource.h
?????文件????????1078??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\res\Toolbar.bmp
?????文件????????1078??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\res\UseLibrary.ico
?????文件?????????402??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\res\UseLibrary.rc2
?????文件????????1078??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\res\UseLibraryDoc.ico
?????文件?????????212??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\StdAfx.cpp
?????文件????????3035??2013-03-04?09:20??UseLibrary?-?副本\李凱2010302590172\StdAfx.h
?????文件???????30188??2013-03-07?13:22??UseLibrary?-?副本\李凱2010302590172\UseLibrary.aps
?????文件????????2943??2013-03-10?10:31??UseLibrary?-?副本\李凱2010302590172\UseLibrary.clw
?????文件????????4462??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\UseLibrary.cpp
?????文件????????4958??2013-03-08?19:44??UseLibrary?-?副本\李凱2010302590172\UseLibrary.dsp
?????文件?????????543??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\UseLibrary.dsw
?????文件????????1400??2013-03-04?08:38??UseLibrary?-?副本\李凱2010302590172\UseLibrary.h
?????文件??????107520??2013-03-10?12:10??UseLibrary?-?副本\李凱2010302590172\UseLibrary.ncb
............此處省略8個文件信息
- 上一篇:TCPIP協議族 答案
- 下一篇:墨魚模塊1.5
評論
共有 條評論