| 查看: 950 | 回复: 7 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[求助]
初学者的困惑,希望大神解答 已有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,为什么不能改呢? |
» 猜你喜欢
全日制(定向)博士
已经有5人回复
假如你的研究生提出不合理要求
已经有10人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
实验室接单子
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
lvweizhong
铜虫 (著名写手)
- 应助: 57 (初中生)
- 金币: 3181.3
- 红花: 10
- 沙发: 1
- 帖子: 2064
- 在线: 167.6小时
- 虫号: 3683385
- 注册: 2015-02-09
- 专业: 数论
5楼2015-10-25 16:01:59
mygt_hit
专家顾问 (职业作家)
-

专家经验: +362 - 应助: 438 (硕士)
- 贵宾: 0.019
- 金币: 19571.1
- 散金: 5130
- 红花: 135
- 沙发: 3
- 帖子: 4938
- 在线: 990.5小时
- 虫号: 1489764
- 注册: 2011-11-13
- 性别: GG
- 专业: 结构工程
- 管辖: 土木建筑

2楼2015-10-24 12:55:08
lvweizhong
铜虫 (著名写手)
- 应助: 57 (初中生)
- 金币: 3181.3
- 红花: 10
- 沙发: 1
- 帖子: 2064
- 在线: 167.6小时
- 虫号: 3683385
- 注册: 2015-02-09
- 专业: 数论
3楼2015-10-24 14:52:09
4楼2015-10-25 15:55:07












回复此楼