资源简介

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 < dimension; i++)
pMatrixCpy[i] = new double[dimension];
for(i = 0; i < dimension; i++)
for(int j = 0; j < dimension; 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 < dimension ; 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 < dimension; 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 < dimension; i++)
{
*(temp1 + i) = new double[dimension];
*(a1 + i) = new double[dimension];
}

for(i = 0; i < dimension; i++)
for(int j = 0; j < dimension; 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个文件信息

评论

共有 条评论