资源简介
经典jacobi法求解特征值特征向量,MATLAB代码实现。。

代码片段和文件信息
#include
#include
#include
#include
#include
#define pi 3.1415926
ifstream fin(“input.txt“ios::in);
ofstream fout(“output.txt“ios::out);
int sign(double x)
{
if(x>0)
return 1;
else if(x=0)
return 0;
else
return -1;
}
void main()
{
int ijknpq;
double egtcso;
double summax;
double **A**B**R**r;
fin>>n;
fin>>e;
fout<<“经典jacobi法 求矩阵的全部特征值与特征向量(终止条件ε为“< A=new double*[n+1];
B=new double*[n+1];
R=new double*[n+1];
r=new double*[n+1];
for(i=1;i {
A[i]=new double[n+1];
B[i]=new double[n+1];
R[i]=new double[n+1];
r[i]=new double[n+1];
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
fin>>A[i][j];
r[i][j]=0;
R[i][i]=0;
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
fin>>R[i][j];
for(k=1;;k++)
{
fout< fout< fout<<“第“<
max=0;
for(i=1;i<=n;i++) //在矩阵右上角找模最大值的值
{
for(j=i+1;j<=n;j++)
if(A[i][j]>=0)
{
if(A[i][j]-max>e)
{
max=A[i][j];
q=j;
p=i;
}
}
else
{
if((-A[i][j]-max)>e)
{
max=-(A[i][j]);
q=j;
p=i;
}
}
}
fout<<“模最大值的下标为: p=“< fout<<“模最大值对应的数值为: “<
if (fabs(A[p][p]-A[q][q])>e) //A[p][p]!=A[q][q]时
{
g=(A[p][p]-A[q][q])/(2*A[p][q]); //(3.2.19)
t=sign(g)*(-fabs(g)+sqrt(1+pow(g2))); //(3.2.18)
c=1/sqrt(1+pow(t2)); //(3.2.16)
s=t*c; //(3.2.17)
fout<<“A[p][p]!=A[q][q]“< }
else //A[p][p]=A[q][q]时
{
o=(pi/4)*sign(A[p][q]);
c=cos(o);
s=sin(o);
}
fout<<“sin和cos的值分别为 “<
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
B[i][j]=A[i][j];
B[p][p]=A[p][p]*c*c+A[q][q]*s*s+A[p][q]*(2*c*s); //(3.2.9)
B[q][q]=A[p][p]*s*s+A[q][q]*c*c-A[p][q]*(2*c*s);
B[p][q]=(A[q][q]-A[p][p])*s*c+A[p][q]*(1-2*s*s);
B[q][p]=B[p][q];
for(i=1;i<=n;i++) //(3.2.10)
{
if(i!=p&&i!=q)
{
B[p][i]=A[i][p]*c+A[i][q]*s;
B[i][p]=B[p][i];
B[q][i]=-1*A[i][p]*s+A[i][q]*c;
B[i][q]=B[q][i];
}
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
A[i][j]=B[i][j];
fout< fout<<“经计算得,A为:“< for(i=1;i<=n;i++)
{
fout< for(j=1;j<=n;j++)
fout< }
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
r[
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 58 2010-10-28 20:09 经典jacobi法\(yi)3.2.2经典jacobi法 p89\input.txt
文件 4225 2010-10-28 20:09 经典jacobi法\(yi)3.2.2经典jacobi法 p89\output.txt
文件 4080 2010-10-11 19:44 经典jacobi法\(yi)3.2.2经典jacobi法 p89\yi经典jacobi法 求矩阵的全部特征值与特征向量.cpp
目录 0 2018-12-19 11:23 经典jacobi法\(yi)3.2.2经典jacobi法 p89
目录 0 2018-12-19 11:23 经典jacobi法
----------- --------- ---------- ----- ----
8363 5
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论