资源简介
经典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实现的常用算法
- 基于matlab聚类分析代码及
- 基于IEEE33节点前推回代 matlab
- 信号分析抽取插值matlab代码
- matlab有限元程序
- fisher鉴别分析FLDAMatlab代码实现
- Matlab 时频分析(TFTB) 工具箱 源代码
- IEEE 39节点系统
- 小波变换降噪处理及其Matlab实现
- IIR数字滤波器设计及软件实现 Matlab
- 基于MATLAB与SolidWorks风力机叶片优化设
- 线性判别分析matlab代码及pdf 讲解
- 基于MATLAB的小波分析应用 周伟 源代码
- FFT分析MATLAB代码
- Matlab的PN码同步方法的比较与仿真-a
- 数值分析程序代码(MATLAB)+实验报告
- matlab开发-椭圆积分和函数
- matlab开发-时间周期分析和预测
- 教学用Matlab语音处理程序
- 过程控制及其MATLAB实现(第2版)】源
- 基于联盟博弈的协作感知模型的融合
- 长周期光纤光栅透射谱MATLAB仿真
- ZNPID参数自整定算法MATLAB
- 人脸识别MATLAB源程序
- matlab .nc数据格式转tif格式
-
汽车二自由度simuli
nk模型仿真.zip - 剑桥修整模型在matlab中的实现.zip
- QPSK调制解调的Matlab仿真
- MATLAB仿真AM、SSB、DSB、FM信号
- matlab 跳频信号分析和仿真
评论
共有 条评论