24小时热门版块排行榜    

查看: 335  |  回复: 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 1Nb0IVlmV6v0 2026-11-11 4/200 2026-11-13 11:18 by Equinoxhua
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +5 C6CRn66RYYXS 2026-11-10 6/300 2026-11-13 11:04 by Equinoxhua
[考博] 27博士申请(市政/环境) +3 ladf 2026-11-12 3/150 2026-11-13 08:19 by Equinoxhua
[考博] 27博士申请 +5 白白白ly 2026-11-09 5/250 2026-11-13 05:01 by wlf1982
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 TgvkbZZl9tqB 2026-11-11 4/200 2026-11-12 12:51 by ECLTXnJnRSXf
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 Z7qfCsdIiD1T 2026-11-10 5/250 2026-11-12 11:25 by HajghKOMynmz
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 czAiolzR0IJC 2026-11-10 7/350 2026-11-12 11:09 by HajghKOMynmz
[考研] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +7 czAiolzR0IJC 2026-11-10 9/450 2026-11-12 11:00 by HajghKOMynmz
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 G2rhSvqvhNzl 2026-11-10 5/250 2026-11-12 10:49 by HajghKOMynmz
[硕博家园] 售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.55.1.O.5.4,科目齐全,可+急 +3 C6CRn66RYYXS 2026-11-10 8/400 2026-11-12 10:16 by HajghKOMynmz
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 FChKX8meu1ds 2026-11-09 8/400 2026-11-12 09:46 by HajghKOMynmz
[教师之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +8 zSbvVX9JFl9J 2026-11-09 12/600 2026-11-12 09:21 by HajghKOMynmz
[基金申请] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 TgvkbZZl9tqB 2026-11-11 5/250 2026-11-12 08:15 by HajghKOMynmz
[论文投稿] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 cdqGD6ftHmbl 2026-11-11 3/150 2026-11-12 07:53 by HajghKOMynmz
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 FChKX8meu1ds 2026-11-09 8/400 2026-11-12 05:30 by 9fOTqj074tIg
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 cqv1zKnzd7hr 2026-11-09 8/400 2026-11-12 05:08 by 9fOTqj074tIg
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +6 0TEMgxdT1eIw 2026-11-09 9/450 2026-11-12 04:57 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文章,我:8O.55.1.O.54,科目全,可伽急 +3 5sJFDKp2kwuI 2026-11-06 12/600 2026-11-09 06:32 by l48hFd8Nwae2
信息提示
请填处理意见