24小时热门版块排行榜    

查看: 334  |  回复: 1

sleefd

新虫 (初入文坛)

[求助] 求讲解一下,下面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                         if(i!=j) v[j]=0;
        }
        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;
                               
                }
        }
}
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sleefd

新虫 (初入文坛)

我感觉好像是松弛迭代的写法。
但是我不知道那个omega是什么意思,是怎么估计的
还有正弦,余弦的作用。
求前辈们指点一下。
2楼2012-05-22 17:56:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sleefd 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 gRND4NVAZ8VG 2026-11-11 5/250 2026-11-13 11:15 by Equinoxhua
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +6 zSbvVX9JFl9J 2026-11-09 9/450 2026-11-13 11:13 by Equinoxhua
[基金申请] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +6 C6CRn66RYYXS 2026-11-10 7/350 2026-11-13 10:55 by Equinoxhua
[考博] 27博士 +5 锦鲤送福至 2026-11-10 5/250 2026-11-13 06:22 by wlf1982
[考博] 博士申请 +4 z_l_l_666 2026-11-06 4/200 2026-11-13 06:19 by wlf1982
[考博] 27博士申请 +5 白白白ly 2026-11-09 5/250 2026-11-13 05:01 by wlf1982
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 cdqGD6ftHmbl 2026-11-11 5/250 2026-11-12 12:28 by ECLTXnJnRSXf
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 G2rhSvqvhNzl 2026-11-10 6/300 2026-11-12 10:30 by HajghKOMynmz
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 C6CRn66RYYXS 2026-11-10 8/400 2026-11-12 10:27 by HajghKOMynmz
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 C6CRn66RYYXS 2026-11-10 8/400 2026-11-12 10:16 by HajghKOMynmz
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +7 FChKX8meu1ds 2026-11-09 9/450 2026-11-12 10:03 by HajghKOMynmz
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +6 FChKX8meu1ds 2026-11-09 11/550 2026-11-12 09:57 by HajghKOMynmz
[教师之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +8 zSbvVX9JFl9J 2026-11-09 12/600 2026-11-12 09:21 by HajghKOMynmz
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 Z7qfCsdIiD1T 2026-11-10 6/300 2026-11-12 07:09 by 9fOTqj074tIg
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 FChKX8meu1ds 2026-11-09 8/400 2026-11-12 05:30 by 9fOTqj074tIg
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 FChKX8meu1ds 2026-11-09 9/450 2026-11-12 05:19 by 9fOTqj074tIg
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 FChKX8meu1ds 2026-11-09 7/350 2026-11-12 05:19 by 9fOTqj074tIg
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 Z7qfCsdIiD1T 2026-11-10 4/200 2026-11-12 02:23 by 9fOTqj074tIg
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 FChKX8meu1ds 2026-11-09 6/300 2026-11-11 17:03 by TgvkbZZl9tqB
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 5sJFDKp2kwuI 2026-11-06 8/400 2026-11-08 23:01 by l48hFd8Nwae2
信息提示
请填处理意见