您的当前位置:首页正文

matlab迭代法解线性方程组

2023-07-11 来源:步旅网
文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。

function x=ak(a,b)%a为系数矩阵,b为初始向量(默认为零向量)

%e为精度(默认为1e-6),N为最大迭代次数(默认为100),x为返回解向量

n=length(b);

N=100;

e=1e-6;

x0=zeros(n,1)

1word格式支持编辑,如有帮助欢迎下载支持。

文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。

%生成一n*1阶零矩阵

x=x0;

x0=x+2*e;

k=0;

d=diag(diag(a));

%生成一个除对角线上元素不为零外其他元素皆为零的矩阵d,且d对角线上的元素为矩阵a对角线上的元素

l=-tril(a,-1);

%生成一个下三角矩阵

u=-triu(a,1);

%生成一个上三角矩阵

while norm(x0-x,inf)>e & kk=k+1;

x0=x;

2word格式支持编辑,如有帮助欢迎下载支持。

文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。

x=inv(d)*(l+u)*x+inv(d)*b;%雅可比迭代公式

k

disp(x')

end

if k==N warning('已达最大迭代次数'); end

3word格式支持编辑,如有帮助欢迎下载支持。

文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。

function X=BDD(f,x0,TOL)

%X用来存储迭代过程所有的根;

%f是符合不动点迭代要求的迭代方程;

%x0设定的迭代初值;

%TOL允许的误差值;

x=feval(f,x0);

n=1;

4word格式支持编辑,如有帮助欢迎下载支持。

文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。

X(:,n)=x;

while abs(x-x0)>TOL

x0=x;

x=feval(f,x0); n=n+1;

X(:,n)=x;

end

5word格式支持编辑,如有帮助欢迎下载支持。

因篇幅问题不能全部显示,请点此查看更多更全内容