• 大小: 10.63MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-14
  • 语言: 其他
  • 标签: GSL函数库  

资源简介

复数矩阵的特征值分解,使用了GSL科学计算函数库,使得特征值分解时间大大减少。

资源截图

代码片段和文件信息

// GSL_特征值分解.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“
#include 
#include 
#include 
#include 

#include 
#include  
#include 
#include 
#include 
#include 
#include 
#include 

using namespace std;
#define M     8            //预设阵元数
#define Nf    200
int _tmain(int argc _TCHAR* argv[])
{
gsl_matrix_complex *RSR  = gsl_matrix_complex_alloc(MM);//申请接收信号的自相关空间 
gsl_matrix_complex *eVec = gsl_matrix_complex_alloc(MM);//申请相关矩阵特征向量空间
gsl_vector         *eVal = gsl_vector_alloc(M);//申请特征值空间 

FILE *filep;
char *str1;
char *str2;
float ttr[M*M];
float tti[M*M];

str1=“ttr.dat“;
str2=“tti.dat“;

filep=fopen(str1“r+b“);
if (filep!=NULL)
{
for (int ii=0 ;ii {
fread(&ttr[ii]41filep);
}
}
fclose(filep);


filep=fopen(str2“r+b“);
if (filep!=NULL)
{
for (int ii=0 ;ii {
fread(&tti[ii]41filep);
}
}
fclose(filep);
gsl_complex temp;
int ijx;
for (i=0;i for (j=0;j {
temp.dat[0] = ttr[i*M+j];
temp.dat[1] = tti[i*M+j];
gsl_matrix_complex_set(RSRijtemp);
}



LARGE_INTEGER litmp;   //计时
LONGLONG QPart1QPart2;
double dfMinusdfFreqdfTime;
QueryPerformanceFrequency(&litmp);
dfFreq=(double)litmp.QuadPart;
QueryPerformanceCounter(&litmp);
QPart1=litmp.QuadPart;

for (x=0;x {
gsl_eigen_hermv_workspace *ws = gsl_eigen_hermv_alloc (M);
gsl_eigen_hermv (RSR eValeVec ws);
gsl_eigen_hermv_free(ws);

gsl_eigen_hermv_sort (eVal eVec GSL_EIGEN_SORT_VAL_ASC);//对所获得特征值与向量按升序排序 
}

QueryPerformanceCounter(&litmp);
QPart2=litmp.QuadPart ;
dfMinus=(double)(QPart2-QPart1);
dfTime=dfMinus/dfFreq;

gsl_matrix_complex_free(RSR);//释放接收信号的自相关空间 
gsl_matrix_complex_free(eVec);//释放相关矩阵特征向量空间
gsl_vector_free(eVal);//释放特征值空间
printf(“\n特征值时间为:%4f ms\n“ dfTime*1000.0);
getchar();
return 0;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-07-02 08:18  GSL_特征值分解\
     目录           0  2014-07-02 08:18  GSL_特征值分解\Debug\
     文件       29184  2014-06-09 19:39  GSL_特征值分解\Debug\GSL_特征值分解.exe
     文件         406  2014-06-09 19:37  GSL_特征值分解\Debug\GSL_特征值分解.exe.manifest
     文件      366480  2014-06-09 19:39  GSL_特征值分解\Debug\GSL_特征值分解.ilk
     文件      805888  2014-06-09 19:39  GSL_特征值分解\Debug\GSL_特征值分解.pdb
     目录           0  2014-07-02 08:18  GSL_特征值分解\GSL_特征值分解\
     文件    30625792  2014-06-10 01:06  GSL_特征值分解\GSL_特征值分解.sdf
     文件         924  2014-06-09 18:37  GSL_特征值分解\GSL_特征值分解.sln
     文件       10240  2014-06-10 01:06  GSL_特征值分解\GSL_特征值分解.suo
     目录           0  2014-07-02 08:18  GSL_特征值分解\GSL_特征值分解\Debug\
     文件        1482  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\cl.command.1.tlog
     文件       33210  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\CL.read.1.tlog
     文件         668  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\CL.write.1.tlog
     文件           2  2014-06-09 19:36  GSL_特征值分解\GSL_特征值分解\Debug\GSL_特征值分解.exe.embed.manifest
     文件          68  2014-06-09 19:36  GSL_特征值分解\GSL_特征值分解\Debug\GSL_特征值分解.exe.embed.manifest.res
     文件         381  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\GSL_特征值分解.exe.intermediate.manifest
     文件          57  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\GSL_特征值分解.lastbuildstate
     文件        3084  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\GSL_特征值分解.log
     文件       63958  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\GSL_特征值分解.obj
     文件     1179648  2014-06-09 19:36  GSL_特征值分解\GSL_特征值分解\Debug\GSL_特征值分解.pch
     文件         713  2014-06-09 19:36  GSL_特征值分解\GSL_特征值分解\Debug\GSL_特征值分解.vcxprojResolveAssemblyReference.cache
     文件           0  2014-06-09 19:36  GSL_特征值分解\GSL_特征值分解\Debug\GSL_特征值分解.write.1.tlog
     文件         208  2014-06-09 19:36  GSL_特征值分解\GSL_特征值分解\Debug\GSL_特征值分解_manifest.rc
     文件        1366  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\link.command.1.tlog
     文件        3328  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\link.read.1.tlog
     文件         592  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\link.write.1.tlog
     文件         406  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\mt.command.1.tlog
     文件         250  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\mt.read.1.tlog
     文件         250  2014-06-09 19:39  GSL_特征值分解\GSL_特征值分解\Debug\mt.write.1.tlog
     文件         508  2014-06-09 19:36  GSL_特征值分解\GSL_特征值分解\Debug\rc.command.1.tlog
............此处省略20个文件信息

评论

共有 条评论