24小时热门版块排行榜    

查看: 1272  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

博学GG

新虫 (初入文坛)

[求助] 初学者的困惑,希望大神解答 已有2人参与

数值计算课的老师给布置了一道用matlab求解的题目,有一点困惑还望解答
这是我在网上找的高斯赛德尔迭代方法的源程序:
function [x1 k1]=gauss_seidel(A,b,e)
n=max(size(A));
for i=1:n
    if A(i,i)==0
          'eig can not be zero'
        return
    end
end
k=0;
kend=50;
r=1;
x=zeros(n,1);
while k<=kend && r>e
    x0=x;
    for i=1:n
        s=0;
        for j=1:i-1
            s=s+A(i,j)*x(j);
        end
        for j=i+1:n
            s=s+A(i,j)*x0(j);
        end
        x(i)=b(i)/A(i,i)-s/A(i,i);
    end
    r=norm(x-x0,inf);
    k=k+1;
end
if k>kend
    'die dai bu shou lian ,failure'
    return
else
    'qiu jie cheng gong'
end
x1=x;
k1=k;


这是我要求的问题:
e=0.000000001;
for n=4:12
    A=hilb(n);
    b=A(:,1);
    [x k]=gauss_seidel(A,b,e)
end

为什么在源程序中我把x=zeros(n,1)改成x=ones(n,1)就会报错,错误:
Error in gauss_seidel (line 2)
n=max(size(A));

Output argument "x1" (and maybe others) not assigned during call to "gauss_seidel".


非常困惑,我看源程序没有规定x必须取0,为什么不能改呢?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

博学GG

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by lvweizhong at 2015-10-24 14:52:09
首先,你为什么要改呢?

我有强迫症。。。
如果一个问题不能搞透彻就会很心烦,毕竟我认为可以改,但问题不知道出在哪里
4楼2015-10-25 15:55:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
跑了一下,把x=zeros(n,1)改成x=ones(n,1)后,程序不收敛,跑到如下位置就退出函数,从而使得x1未赋值,程序报错。
if k>kend
    'die dai bu shou lian ,failure'
    return
知其然,知其所以然。
2楼2015-10-24 12:55:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvweizhong

铜虫 (著名写手)

首先,你为什么要改呢?

发自小木虫Android客户端
3楼2015-10-24 14:52:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvweizhong

铜虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
你搞清楚ones和zero的区别了吗?

发自小木虫Android客户端
5楼2015-10-25 16:01:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 hKe7U1kad5Sg 2026-10-31 5/250 2026-11-01 20:03 by xzcv0Tehd8lQ
[基金申请] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 hKe7U1kad5Sg 2026-10-31 5/250 2026-11-01 19:50 by xzcv0Tehd8lQ
[找工作] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 1uaZt2kAZj2S 2026-10-31 7/350 2026-11-01 17:01 by BCdvBAEpt3zm
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 1uaZt2kAZj2S 2026-10-30 18/900 2026-11-01 16:48 by BCdvBAEpt3zm
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 1uaZt2kAZj2S 2026-10-30 13/650 2026-11-01 16:48 by BCdvBAEpt3zm
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 X5bHxOULxFqb 2026-10-30 22/1100 2026-11-01 16:35 by BCdvBAEpt3zm
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 X5bHxOULxFqb 2026-10-30 14/700 2026-11-01 16:32 by BCdvBAEpt3zm
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 hKe7U1kad5Sg 2026-10-31 6/300 2026-11-01 15:04 by BCdvBAEpt3zm
[基金申请] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 xvJS1BYDxvBS 2026-10-31 9/450 2026-11-01 14:55 by BCdvBAEpt3zm
[硕博家园] 越来越担心硕士毕业后没有竞争力了 +9 zuesli 2026-10-27 15/750 2026-11-01 12:59 by Equinoxhua
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 1uaZt2kAZj2S 2026-10-31 8/400 2026-11-01 12:38 by BCdvBAEpt3zm
[考博] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 1uaZt2kAZj2S 2026-10-30 10/500 2026-11-01 12:27 by BCdvBAEpt3zm
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 1uaZt2kAZj2S 2026-10-30 11/550 2026-11-01 12:24 by BCdvBAEpt3zm
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 1uaZt2kAZj2S 2026-10-30 16/800 2026-11-01 12:14 by BCdvBAEpt3zm
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 X5bHxOULxFqb 2026-10-30 18/900 2026-11-01 12:11 by BCdvBAEpt3zm
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 xvJS1BYDxvBS 2026-10-31 4/200 2026-11-01 11:01 by BCdvBAEpt3zm
[博后之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 1uaZt2kAZj2S 2026-10-30 15/750 2026-11-01 05:22 by YXM1FDCSE8Bn
[论文投稿] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 1uaZt2kAZj2S 2026-10-31 8/400 2026-11-01 03:59 by YXM1FDCSE8Bn
[考博] 2027博士申请-临床检验诊断学、病原生物学、微生物方向 50+3 yyh@ 2026-10-28 4/200 2026-10-31 12:47 by 可淡不可忘
[考博] 申博求助 20+3 Katrinae 2026-10-26 4/200 2026-10-27 09:56 by 北京莱茵编辑
信息提示
请填处理意见