資源簡介
采用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.em
?????文件????????468??2014-10-27?10:45??Homework_1_1\Homework_1\Debug\Homework_1.exe.em
?????文件????????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.xm
?????文件???????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個文件信息
評論
共有 條評論