标题:怎样修改下面的MATLAB程序实现每一步迭代结果都显示并且迭代次数也显示
只看楼主
冰越
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-3-19
结帖率:0
 问题点数:0 回复次数:0 
怎样修改下面的MATLAB程序实现每一步迭代结果都显示并且迭代次数也显示
逐次松弛迭代法
跪求大神们
怎样修改下面的MATLAB程序实现每一步迭代结果都显示并且迭代次数也显示
function [ x , k ,index] = SOR( A ,b ,ep ,w,it_max);
A=[8 -3 2;4 11 -1;2 1 4];
b=[20 33 12]';
ep=1e-5
if nargin<5
    it_max=100;
end
if nargin<4
    w=1.25;
end
if nargin<3
    ep=1e-10;
end
n=length(A);
k=0;
x=zeros(n,1);
y=zeros(n,1);
index=1;
while 1
    y=x;
    for i=1:n
        z=b(i);
        for j=1:n
            if j~=i
                z=z-A(i,j)*x(j);
            end
        end
        if abs(A(i,i))<1e-10|k==it_max
            index=0;
            return;
        end
        z=z/A(i,i);
        x(i)=(1-w)*x(i)+w*z;
    end
    if norm(y-x,inf)<ep
        break;
    end
    k=k+1;
end
搜索更多相关主题的帖子: function 
2016-03-26 16:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-462961-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.633867 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved