24小时热门版块排行榜    

查看: 508  |  回复: 1
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 foolishstar 的 5 个金币

foolishstar

木虫 (小有名气)

[交流] 【求助,5金币】matlab赛德尔迭代求解非线性方程组

请见附件,运行结果出错(计算出来有复数结果)
有高手看看怎么回事吗?

[ Last edited by csfn on 2008-12-29 at 20:10 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuxiaobo021

RE:matlab赛德尔迭代求解非线性方程组

★ ★ ★
lei0736(金币+3,VIP+0):多谢
可以参考一下C代码,(VC++6.0编译通过)               


---------------------------------------------------------------------------------------
                 b[1]=m_b21;
         b[2]=m_b22;
         b[3]=m_b23;
         a[1][1]=1;
         a[1][2]=0.5;
         a[1][3]=0.5;
         a[2][1]=0.5;
         a[2][2]=1;
         a[2][3]=0.5;
         a[3][1]=0.5;
         a[3][2]=0.5;
         a[3][3]=1;
     X2[0]=m_X20;
         Y2[0]=m_Y20;
     Z2[0]=m_Z20;
         wcx2=m_wcx2;
         X2[1]=(b[1]-a[1][2]*Y2[0]-a[1][3]*Z2[0])/a[1][1];
     Y2[1]=(b[2]-a[2][1]*X2[1]-a[2][3]*Z2[0])/a[2][2];
     Z2[1]=(b[3]-a[3][1]*X2[1]-a[3][2]*Y2[1])/a[3][3];
         i=1;
         while(fabs(X2-X2[i-1])+fabs(Y2-Y2[i-1])+fabs(Z2-Z2[i-1])>wcx2)
         {  i=i+1;
            X2=(b[1]-a[1][2]*Y2[i-1]-a[1][3]*Z2[i-1])/a[1][1];
        Y2=(b[2]-a[2][1]*X2-a[2][3]*Z2[i-1])/a[2][2];
        Z2=(b[3]-a[3][1]*X2-a[3][2]*Y2)/a[3][3];
         }
     m_x_2=X2;
         m_y_2=Y2;
         m_z_2=Z2;
         UpdateData(FALSE);
2楼2008-03-12 09:07:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 foolishstar 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见