24小时热门版块排行榜    

查看: 1004  |  回复: 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的回帖

lvweizhong

铜虫 (著名写手)

3楼2015-10-24 14:52:09
已阅   回复此楼   关注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的回帖

博学GG

新虫 (初入文坛)

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

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

lvweizhong

铜虫 (著名写手)

【答案】应助回帖

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

发自小木虫Android客户端
5楼2015-10-25 16:01:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿中南化学(0703)总分337求调剂 +7 niko- 2026-03-19 8/400 2026-03-20 21:40 by ChemPharm
[考研] 一志愿西南交通 专硕 材料355 本科双非 求调剂 +5 西南交通专材355 2026-03-19 5/250 2026-03-20 21:10 by JourneyLucky
[考研] 本人考085602 化学工程 专硕 +19 不知道叫什么! 2026-03-15 21/1050 2026-03-20 20:48 by zhukairuo
[考研] 085600材料与化工 +7 安全上岸! 2026-03-16 7/350 2026-03-20 20:37 by zhukairuo
[考研] 086500 325 求调剂 +3 领带小熊 2026-03-19 3/150 2026-03-20 18:38 by 尽舜尧1
[论文投稿] 申请回稿延期一个月,编辑同意了。但系统上的时间没变,给编辑又写邮件了,没回复 10+3 wangf9518 2026-03-17 4/200 2026-03-19 23:55 by babero
[考研] 294求调剂材料与化工专硕 +14 陌の森林 2026-03-18 14/700 2026-03-19 22:38 by 学员8dgXkO
[考研] 材料考研调剂 +3 xwt。 2026-03-19 3/150 2026-03-19 11:22 by w沐阳w
[考研] 0703化学调剂,求各位老师收留 +10 秋有木北 2026-03-14 10/500 2026-03-19 05:52 by anny19840123
[考研] 材料工程专硕调剂 +5 204818@lcx 2026-03-17 6/300 2026-03-18 22:55 by 204818@lcx
[考研] 材料专业求调剂 +5 hanamiko 2026-03-18 5/250 2026-03-18 20:19 by 星空星月
[考研] 化学工程321分求调剂 +15 大米饭! 2026-03-15 18/900 2026-03-18 14:52 by haxia
[考研] 0854可跨调剂,一作一项核心论文五项专利,省、国级证书40+数一英一287 +8 小李0854 2026-03-16 8/400 2026-03-18 14:35 by 搏击518
[考研] 304求调剂 +12 小熊joy 2026-03-14 13/650 2026-03-18 12:34 by Linda Hu
[考研] 299求调剂 +5 △小透明* 2026-03-17 5/250 2026-03-18 11:49 by 尽舜尧1
[考研] 268求调剂 +6 简单点0 2026-03-17 6/300 2026-03-18 09:04 by 无际的草原
[考研] 275求调剂 +4 太阳花天天开心 2026-03-16 4/200 2026-03-17 10:53 by 功夫疯狂
[考研] 东南大学364求调剂 +5 JasonYuiui 2026-03-15 5/250 2026-03-16 21:28 by 木瓜膏
[考研] 321求调剂 +5 大米饭! 2026-03-15 5/250 2026-03-16 16:33 by houyaoxu
[考研] 26考研一志愿中国石油大学(华东)305分求调剂 +3 嘉年新程 2026-03-15 3/150 2026-03-15 13:58 by 哈哈哈哈嘿嘿嘿
信息提示
请填处理意见