24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1542  |  回复: 31

0000_8888

金虫 (著名写手)

[求助] 大神看一下这个程序有什么问题已有3人参与

format long
A=[10 -1 -2;-1 10 -2;-1 -1 5];
b=[7.2;8.3;4.2];
omega=1.15;X0=[0;0;0;0];eps=1e-5;N=300;
x=SOR(A,b,omega,X0,eps,N);


function x=SOR(A,b,omega,x0,eps,N)
n=length(x0);x=ones(n,1);k=0;
while k<=N
    for i=1:n
        x(i)=omega*(- A(i,1:i-1)*x(1:i-1)...
            - A(i,i+1:n)*x0(i+1:n)+b(i))/A(i,i)+(1-omega)*x0(i);
    end
    k=k+1;
    if norm(x-x0,inf)<eps
        break;
    end
    x0=x;
end
if k>N
    warning('算法超出最大迭代次数!');
else
    disp(['迭代次数=  ',num2str(k)])
    x
end


运行结果是:
Index exceeds matrix dimensions.

Error in SOR (line 5)
        x(i)=omega*(- A(i,1:i-1)*x(1:i-1)...

不知道出现什么问题请指教!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

没有做不到,只有想不到
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

linccnu

木虫 (小有名气)

【答案】应助回帖

第一次循环就通不过!
当i=1时,-A(i,i-1)*...----->-A(1,0)*....矩阵的子标是不允许为零和负数的!
youcandoit!
25楼2014-11-09 15:17:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

0000_8888(金币+1): 谢谢参与
2楼2014-11-05 14:22:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

0000_8888(金币+1): 谢谢参与
3楼2014-11-05 14:28:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

0000_8888(金币+1): 谢谢参与
4楼2014-11-05 14:38:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

0000_8888(金币+1): 谢谢参与
5楼2014-11-05 14:43:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

0000_8888(金币+1): 谢谢参与
6楼2014-11-05 14:44:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

0000_8888(金币+1): 谢谢参与
7楼2014-11-05 14:50:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xuxiuling

木虫 (知名作家)


0000_8888(金币+1): 谢谢参与
加油
jiayou
8楼2014-11-05 14:53:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

0000_8888(金币+1): 谢谢参与
9楼2014-11-05 15:00:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
10楼2014-11-05 18:22:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 0000_8888 的主题更新
信息提示
请填处理意见