| 查看: 270 | 回复: 1 | ||
[求助]
求讲解一下,下面jacobi算法代码的具体实现思路
|
|
int jcb(double a[][200],double tzz[200],double v[][200],double eps,int jt,int rows) //jacobi求实对称矩阵的特征值和特征向量 //a 为原矩阵,v为特征向量,tzz为特征值,eps为精度,jt为最大迭代次数 { int i,j,p,q,l; double fm,cn,sn,omega,x,y,d; // double temp; l=1; for(i=0;i v=1.0; for(j=0;j } while(true) { fm=0.0; for(i=0;i<=rows-1;i++) for(j=0;j<=i-1;j++) { d=fabs(a[j]); if((i!=j)&&(d>fm)) //取最大的a[p][q] { fm=d;p=i;q=j;} } if(fm for(i=0;i tzz=a; //printf("%lf \n",a); } return(1); break; } if(l>jt) //如果不能求解 { for(i=0;i tzz=a; //printf("%lf \n",a); } return(-1); break; } l=l+1; //记录迭代次数 x=-a[p][q]; y=(a[q][q]-a[p][p])/2.0; omega=x/sqrt(x*x+y*y); if(y<0.0) omega=-omega; sn=1.0+sqrt(1.0-omega*omega); sn=omega/sqrt(2.0*sn); //正弦 cn=sqrt(1.0-sn*sn); //余弦 fm=a[p][p]; a[p][p]=fm*cn*cn+a[q][q]*sn*sn+a[p][q]*omega; a[q][q]=fm*sn*sn+a[q][q]*cn*cn-a[p][q]*omega; a[p][q]=y*omega+a[p][q]*(2*cn*cn-1); a[q][p]=a[p][q]; for(j=0;j<=rows-1;j++) if((j!=p)&&(j!=q)) { fm=a[p][j]; a[p][j]=fm*cn+a[q][j]*sn; a[q][j]=-fm*sn+a[q][j]*cn; } for(i=0;i<=rows-1;i++) if((i!=p)&&(i!=q)) { fm=a[p]; a[p]=fm*cn+a[q]*sn; a[q]=-fm*sn+a[q]*cn; } for(i=0;i<=rows-1;i++) { fm=v[p]; v[p]=fm*cn+v[q]*sn; v[q]=-fm*sn+v[q]*cn; } } } |
» 猜你喜欢
为什么中国大学教授们水了那么多所谓的顶会顶刊,但还是做不出宇树机器人?
已经有3人回复
售SCI一区文章,我:8 O5 51O 54,科目齐全,可+急
已经有4人回复
售SCI一区文章,我:8 O5 51O 54,科目齐全,可+急
已经有3人回复
售SCI一区文章,我:8 O5 51O 54,科目齐全,可+急
已经有4人回复
“人文社科而论,许多学术研究还没有达到民国时期的水平”
已经有5人回复
过年走亲戚时感受到了所开私家车的鄙视链
已经有11人回复
什么是人一生最重要的?
已经有4人回复
版面费该交吗
已经有3人回复
今年春晚有几个节目很不错,点赞!
已经有12人回复
体制内长辈说体制内绝大部分一辈子在底层,如同你们一样大部分普通教师忙且收入低
已经有12人回复
» 本主题相关价值贴推荐,对您同样有帮助:
国基申请涉及不同学部,评审者都是第一申请代码的学部吗?
已经有8人回复
急求!!!!!帮忙做下这道题,只求思路。最好是有英文的回答
已经有4人回复
有关遗传算法的问题求助
已经有3人回复
【重金求助】同伦延拓算法是如何具体实现的
已经有6人回复
论文大修,但是审稿人要我对算法的缺点进行讨论,心里没有底
已经有8人回复
如何MATLAB程序实现遗传算法
已经有11人回复
关于一个积分算法的问题(有代码)
已经有3人回复
求回归方程参数估计的最优化算法matlab代码
已经有9人回复
28个不得不看的经典编程算法!!
已经有34人回复
版上同学们 谁搞算法研究比较多?能帮我普及一下么?
已经有10人回复
【求助】求助特性粘数的具体算法,谢谢
已经有18人回复
【求助】CASTEP中可以实现GGA+U算法吗
已经有6人回复
2楼2012-05-22 17:56:10













回复此楼