24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1546  |  回复: 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的回帖

linccnu

木虫 (小有名气)

【答案】应助回帖

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

myyounger

至尊木虫 (文坛精英)

路过顺便顶一下 祝楼主一切顺利!
11楼2014-11-05 18:32:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hytao2012

铁杆木虫 (正式写手)

木头虫子

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
0000_8888: 金币+2, 有帮助 2014-12-23 11:19:03
数组越界了啊。。。n太大了,A没那么大。。。话说这个程序都写出来了,这个看不出来,,,
12楼2014-11-05 18:36:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
13楼2014-11-05 21:32:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见