24小时热门版块排行榜    

查看: 1167  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 帮忙看看fileCode +4 wwncly 2026-08-10 8/400 2026-08-10 22:07 by demonstreets
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +3 Tide man 2026-08-10 3/150 2026-08-10 21:48 by GZUZM
[基金申请] FileCode能看出啥? +7 要乐观耀哥 2026-08-10 15/750 2026-08-10 19:29 by 要乐观耀哥
[基金申请] filecode +8 documentary 2026-08-10 8/400 2026-08-10 19:20 by loufangrui
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +10 yufeiwaner 2026-08-09 11/550 2026-08-10 18:47 by yufeiwaner
[基金申请] 为什么网上很多人说本周 12号出结果 +3 瞬息宇宙 2026-08-10 3/150 2026-08-10 18:27 by Tide man
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 化学口download_prp&amp;fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
信息提示
请填处理意见