资源简介
经典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
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 检测疲劳驾驶
- Matlab锁相环仿真-Phase Locked Loop.rar
评论
共有 条评论