实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx

上传人:b****3 文档编号:7169311 上传时间:2023-05-08 格式:DOCX 页数:8 大小:126.85KB
下载 相关 举报
实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx_第1页
第1页 / 共8页
实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx_第2页
第2页 / 共8页
实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx_第3页
第3页 / 共8页
实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx_第4页
第4页 / 共8页
实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx_第5页
第5页 / 共8页
实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx_第6页
第6页 / 共8页
实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx_第7页
第7页 / 共8页
实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx

《实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx(8页珍藏版)》请在冰点文库上搜索。

实验7Jacobi法求实对称矩阵全部特征值Word文档格式.docx

1

上机实践时间:

一、目的

1.通过本实验加深对Jacobi法的构造过程的理解;

2.能对Jacobi法提出正确的算法描述编程实现,得到计算结果。

二、内容与设计思想

自选方阵,用Jacobi法求其全部特征值及其特征向量。

可使用实例:

三、使用环境

操作系统:

WindowsXP

软件环境:

MicrosoftVisualC++

四、核心代码及调试过程

#include<

stdio.h>

math.h>

voidmain()

{

floata[10][10],t[10][10],s[10][10],s1[10][10],Q[10][10],q1[10][10],lam[10];

floata1,c,s2,t1,amax,eps=0.001,d=0,r=1;

inti,j,n,p,q,m,N=100,k=1;

printf("

矩阵a的维数为:

\nn="

);

scanf("

%d"

&

n);

\n输入矩阵a:

\n"

for(i=1;

i<

n+1;

i++)

j=1;

while(j<

n+1)

a%d%d="

i,j);

%f"

a[i][j]);

j++;

}

for(j=1;

j<

j++)

if(j==i)

Q[i][j]=1;

//将初始Q[i][j]置为单位矩阵

else

Q[i][j]=0;

while(r>

=eps&

&

k<

=N)

p=1;

q=1;

amax=0;

if((j!

=i)&

fabs(a[i][j])>

amax)

amax=fabs(a[i][j]);

//找非对角元素绝对值最大的元

p=i;

q=j;

r=amax;

//重置当前误差

a1=(a[q][q]-a[p][p])/(2*a[p][q]);

if(a1>

=0)

t1=1/(fabs(a1)+sqrt(1+a1*a1));

t1=-1/(fabs(a1)+sqrt(1+a1*a1));

c=1/sqrt(1+t1*t1);

s2=t1*c;

s[i][j]=1;

s[i][j]=0;

s[p][p]=c;

s[p][q]=s2;

s[q][p]=-s2;

s[q][q]=c;

s1[i][j]=s[j][i];

//将矩阵s1[i][j]化为s[i][j]的转置

for(m=1;

m<

m++)

d=d+s1[i][m]*a[m][j];

//计算s1[i][j]*a[i][j]

t[i][j]=d;

d=0;

d=d+t[i][m]*s[m][j];

//计算t[i][j]*s[i][j]

a[i][j]=d;

d=d+Q[i][m]*s[m][j];

//计算Q[i][j]*s[i][j]

q1[i][j]=d;

Q[i][j]=q1[i][j];

//将矩阵q1[i][j]还原为q[i][j]

第%d次平面旋转矩阵s为:

k);

%10.7f"

s[i][j]);

第%d次矩阵a为:

a[i][j]);

k=k+1;

if(k>

N)

不收敛!

lam[i]=a[i][i];

矩阵a的特征值为:

lam[i]);

\n相应的特征向量为:

Q[i][j]);

运算结果:

矩阵的特征值为:

λ1=0.5601 

λ2=-1.3077 

 

λ3=17.7475

矩阵的特征向量为:

V1=[0.8938 

-0.4223 

0.1505]T

V2=[0.3978 

0.5921 

-0.7007]T

V3=[0.2068 

0.6862 

0.6973]T

五、总结

本次试验利用C语言实现了用Jacobi法求矩阵全部特征值及其特征向量,通过本实验加深了对Jacobi法的构造过程的理解,对c语言在计算方法中的应用有了进一步的掌握。

六、附录

参考:

《数值计算方法与算法》(第二版)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2