• 大小: 774KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-07-18
  • 语言: C/C++
  • 标签: 数值分析  

资源简介

采用C语言编写,运用数值迭代方法求矩阵的特征值和特征向量,包括高斯迭代法和杜利特尔迭代法,精度10^-12

资源截图

代码片段和文件信息

// Homework_1.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“
#include 
#include 
using namespace std;

bool matrixVectorMultiply(double *adouble *xdouble *yint N);
double vectorInnerProduct(double *xdouble *yint N);
bool powerIterationMethod(double *adouble *udouble *lambdaint Nint *time);
bool inversePowerIterationMethod(double *adouble *udouble *lambdaint Nint *time);
bool theGaussSeidelIterationMethod(double *adouble *xdouble *yint N);
bool directDoolittleMethod(double *aodouble *udouble *yoint N);
bool detMatrix(double *aodouble *detint N);
bool directDoolittleSolveMethod(double *adouble *budouble *bldouble *cudouble *cldouble *udouble *yoint N);
bool directDoolittleSplitMethod(double *adouble *budouble *bldouble *cudouble *clint N);
int _tmain(int argc _TCHAR* argv[])
{
double a[501]am[501]u[501]lambda[3]lambdamaxlambdamindet;
double b=0.16;
double c=-0.064;
int times=0;
for(int i=0;i<501;i++)
{
a[i]=1.64-0.024*(i+1);
a[i]*=sin(0.2*(i+1));
a[i]-=0.64*exp(0.1/(i+1));
u[i]=1;
}
powerIterationMethod(au&lambda[0]501×);
for(int i=0;i<501;i++) u[i]=1;
inversePowerIterationMethod(au&lambda[2]501×);
for(int i=0;i<501;i++)
am[i]=a[i]+lambda[0];
for(int i=0;i<501;i++) u[i]=1;


inversePowerIterationMethod(amu&lambda[1]501×);

lambdamin=min(lambda[1]-lambda[0]lambda[0]);
lambdamax=max(lambda[1]-lambda[0]lambda[0]);
cout.setf(ios::scientific);           //科学记数法 
cout.precision(12);                   //精度为12,正常为6 
cout<<“λ1=“< cout<<“λ501=“< cout<<“λs=“< for(int k=1;k<40;k++)
{
double mu;
mu=lambdamin+k*(lambdamax-lambdamin)/40;
for(int i=0;i<501;i++)
am[i]=a[i]-mu;
for(int i=0;i<501;i++) u[i]=1;
inversePowerIterationMethod(amu&lambda[0]501×);
cout<<“k=“< }
cout<<“cond(A)=“< detMatrix(a&det501);
cout<<“det(A)=“</*
cout<<“lambda 1 or lambda 501 = “< cout<<“times = “< lambdamin=min(lambda[1]-lambda[0]lambda[0]);
lambdamax=max(lambda[1]-lambda[0]lambda[0]);
cout<<“lambda 1 = “< cout<<“lambda 501 = “< cout<<“lambda s = “<
for(int k=0;k<40;k++)
{
int mu;
mu=lambdamin+k*(lambdamax-lambdamin)/40;
for(int i=0;i<501;i++)
am[i]=a[i]-mu;
inversePowerIterationMethod(amu&lambda[0]501×);
cout<<“k=“< }
cout<<“cond(A)=“< //printf(“k=%d =>>>λi%d=%.13e\n“kkvalue_s);
//printf(“λs=%.13e\n“value_s);
double det;
detMatrix(a&det501);
cout<<“det(A)=“< det=1;
for(int i=0;i<501;i++)
det*=a[i];
cout<<“det(A)=“<*/
return 0;
}
bool detMatrix(double *aodouble *detint N)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      53248  2014-10-31 18:35  Homework_1_1\debug\Homework_1.exe

     文件     655964  2014-10-31 18:35  Homework_1_1\debug\Homework_1.ilk

     文件     601088  2014-10-31 18:35  Homework_1_1\debug\Homework_1.pdb

     文件       6394  2014-10-31 18:35  Homework_1_1\Homework_1\Debug\BuildLog.htm

     文件        403  2014-10-27 10:45  Homework_1_1\Homework_1\Debug\Homework_1.exe.embed.manifest

     文件        468  2014-10-27 10:45  Homework_1_1\Homework_1\Debug\Homework_1.exe.embed.manifest.res

     文件        385  2014-10-31 18:35  Homework_1_1\Homework_1\Debug\Homework_1.exe.intermediate.manifest

     文件      69613  2014-10-31 18:35  Homework_1_1\Homework_1\Debug\Homework_1.obj

     文件    1048576  2014-10-27 10:45  Homework_1_1\Homework_1\Debug\Homework_1.pch

     文件         67  2014-10-31 18:35  Homework_1_1\Homework_1\Debug\mt.dep

     文件      10785  2014-10-27 10:45  Homework_1_1\Homework_1\Debug\stdafx.obj

     文件     232448  2014-10-31 18:35  Homework_1_1\Homework_1\Debug\vc80.idb

     文件     241664  2014-10-31 18:35  Homework_1_1\Homework_1\Debug\vc80.pdb

     文件      19598  2014-10-31 18:35  Homework_1_1\Homework_1\Homework_1.cpp

     文件       4560  2015-05-18 20:18  Homework_1_1\Homework_1\Homework_1.vcproj

     文件       4496  2014-10-27 10:24  Homework_1_1\Homework_1\Homework_1.vcproj.8.00.old

     文件       1427  2015-05-18 20:28  Homework_1_1\Homework_1\Homework_1.vcproj.woshidiannao-PC.woshidiannao.user

     文件       1427  2014-10-31 18:55  Homework_1_1\Homework_1\Homework_1.vcproj.WWW-A86CE6CB1B0.Administrator.user

     文件        968  2014-10-27 10:24  Homework_1_1\Homework_1\ReadMe.txt

     文件        215  2014-10-27 10:24  Homework_1_1\Homework_1\stdafx.cpp

     文件        276  2014-10-27 10:24  Homework_1_1\Homework_1\stdafx.h

     文件    1289216  2015-05-18 20:28  Homework_1_1\Homework_1.ncb

     文件        896  2015-05-18 20:18  Homework_1_1\Homework_1.sln

     文件        895  2014-10-27 10:24  Homework_1_1\Homework_1.sln.old

    ..A..H.     17408  2015-05-18 20:28  Homework_1_1\Homework_1.suo

    ..A..H.     16384  2014-10-31 18:55  Homework_1_1\Homework_1.suo.old

    ..A..H.     16384  2014-10-31 18:55  Homework_1_1\Homework_1.v11.suo

     文件       2349  2015-05-18 20:18  Homework_1_1\UpgradeLog.xml

     文件       3348  2015-05-18 20:18  Homework_1_1\_UpgradeReport_Files\UpgradeReport.css

     文件      12579  2007-06-27 17:04  Homework_1_1\_UpgradeReport_Files\UpgradeReport.xslt

............此处省略10个文件信息

评论

共有 条评论