解线性方程组的迭代法.pptVIP

  • 0
  • 0
  • 约2.09千字
  • 约 33页
  • 2025-10-17 发布于北京
  • 举报

解线性方程组的迭代法演示文稿;优选解线性方程组的迭代法;内容提要;根据给定方程组,设计出一个迭代公式,构造一数组的序列,代入迭代公式,计算出,再代入迭代公式,经过k次迭代运算后得到,若收敛于某一极限数组xi,则xi就是方程组的近似解。

迭代过程本质上就是计算极限的过程,一般不能得到精确解。

迭代法的优点是程序简单,适合于大型方程组求解,但缺点是要判断迭代是否收敛和收敛速度问题。;;;;;;function[x,iter,exitflag]=Jacobi_iter(A,b,x0,eps,iter_max)

%线性方程组的Jacobi迭代求解(向量形式)

%输入参数:

%---A:线性方程组的系数矩阵

%---b:线性方程组的右端项

%---x0:初始向量,默认值为零向量

%---eps:精度要求,默认值为1e-6

%---iter_max:最大迭代次数,默认值为100

%输出参数:

%---x:线性方程组的近似解

%---iter:迭代次数

%---exitflag:迭代成功与否的标志:exitflag=1表示迭代成功

%exitflag=0表示迭代失败

n=length(b);

ifnargin5|isempty(iter_max);iter_max=100;end

ifnargin4|isempty(eps);eps=1e-6;end

ifnargin3|isempty(x0);x0=zeros(n,1);end

iter=0;exitflag=1;

D=diag(diag(A));L=tril(A,-1);U=triu(A,1);

J=-inv(D)*(L+U);f=inv(D)*b;

whileiteriter_max

x=J*x0+f;

ifnorm(x-x0,inf)eps

break

end

x0=x;iter=iter+1;

end

ifiter==iter_max

exitflag=0;

end;function[x,iter,exitflag]=Jacobi_iteration(A,b,x0,eps,iter_max)

%线性方程组的Jacobi迭代求解(分量形式)

%输入参数:

%---A:线性方程组的系数矩阵

%---b:线性方程组的右端项

%---x0:初始向量,默认值为零向量

%---eps:精度要求,默认值为1e-6

%---iter_max:最大迭代次数,默认值为100

%输出参数:

%---x:线性方程组的近似解

%---iter:迭代次数

%---exitflag:迭代成功与否的标志:exitflag=1表示迭代成功

%exitflag=0表示迭代失败

n=length(b);

ifnargin5;iter_max=100;end

ifnargin4;eps=1e-6;end

ifnargin3;x0=zeros(n,1);end

x=zeros(n,1);iter=0;exitflag=1;

whileiteriter_max

fori=1:n

x(i)=(b(i)-A(i,[1:i-1,i+1:n])*x0([1:i-1,i+1:n]))/A(i,i);

end

ifnorm(x-x0,inf)eps

break

end

x0=x;iter=iter+1;

end

ifiter==iter_max

exitflag=0;

end;MATLAB程序设计;例:求解方程组;赛得尔迭代法与简单迭代法类似,只是迭代公式有所改进。;MATLAB程序设计;;;;;;;;当前第23页\共有33页\编于星期五\13点;实例:基于Matlab的透镜中心偏测量光轴拟合;当前第25页\共有33页\编于星期五\13点;3)应用最小二乘法得到关于四参数的线性方程组。

得到各面球心的位置坐标后,按照一般直线拟合的方法,应使各球心对优化轴距离的平方和最小,符合数学上的最小二乘法。N个球心到优化轴距离的平方和:;当前第27页\共有33页\编于星期五\13点;当前第28页\共有33页\编于星期五\13

文档评论(0)

1亿VIP精品文档

相关文档