MATLAB关于sor超松弛算法function [ y,n ] = sor( w,x )a=-12*eye(10)+ones(10);n=0;d=-11*eye(10);b=ones(10,1);l=tril(a,-1);u=triu(a,1);bw=(d+w*l)\(d-w*d-w*u);dw=w*(d+w*l)\b;y=bw*x+dw;while norm(y-x)>0.00001x=y;y=bw*x+dw;n=n+1;endend以上是我的

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/25 18:24:26
MATLAB关于sor超松弛算法function [ y,n ] = sor( w,x )a=-12*eye(10)+ones(10);n=0;d=-11*eye(10);b=ones(10,1);l=tril(a,-1);u=triu(a,1);bw=(d+w*l)\(d-w*d-w*u);dw=w*(d+w*l)\b;y=bw*x+dw;while norm(y-x)>0.00001x=y;y=bw*x+dw;n=n+1;endend以上是我的
xKO@ǿc{:Dc{덢]NDN8Ej m6@RsT$~ɭ_k')Tkώgu'p@6 2 11y=uaeUl? AqPFOES3_l>4` յ5c`"/_{߸IR& = " stQgx8t϶noā?H۶I44O?&t{֏Щ{t{˼`6oF^w#xs`,/1ZIm8c<{P{+)V;

MATLAB关于sor超松弛算法function [ y,n ] = sor( w,x )a=-12*eye(10)+ones(10);n=0;d=-11*eye(10);b=ones(10,1);l=tril(a,-1);u=triu(a,1);bw=(d+w*l)\(d-w*d-w*u);dw=w*(d+w*l)\b;y=bw*x+dw;while norm(y-x)>0.00001x=y;y=bw*x+dw;n=n+1;endend以上是我的
MATLAB关于sor超松弛算法
function [ y,n ] = sor( w,x )
a=-12*eye(10)+ones(10);n=0;
d=-11*eye(10);b=ones(10,1);
l=tril(a,-1);u=triu(a,1);
bw=(d+w*l)\(d-w*d-w*u);
dw=w*(d+w*l)\b;
y=bw*x+dw;
while norm(y-x)>0.00001
x=y;
y=bw*x+dw;n=n+1;
end
end
以上是我的function函数.
x=zeros(10,1)
[y,n]=sor(1.1,x)
计算出来结果不对.
w=1时候,结果与seidel的结果一样.
w不为1时候,为什么结果不一样了.按理说应该一样才对

MATLAB关于sor超松弛算法function [ y,n ] = sor( w,x )a=-12*eye(10)+ones(10);n=0;d=-11*eye(10);b=ones(10,1);l=tril(a,-1);u=triu(a,1);bw=(d+w*l)\(d-w*d-w*u);dw=w*(d+w*l)\b;y=bw*x+dw;while norm(y-x)>0.00001x=y;y=bw*x+dw;n=n+1;endend以上是我的
哈哈,我刚才也弄了半天.
dw=w*(d+w*l)\b;
最好改为:
dw=(d+w*l)\b*w;
可能效果会好一些.