雅可比迭代纸
%超松弛迭代(排序方法)
function [x k flag]=SOR(A,b,eps,w,maxl)
%A是方程的系数矩阵。
%b是方程的右向量。
精确度需要%eps。
%maxl是最大迭代次数,默认值是100。
%w是超松弛因子,默认值是1。
%x是方程组的解
%k是迭代的次数
%flag是一个指示器变量。
%分配的初始值:
如果nargin & lt5 maxl = 100;结束
如果nargin & lt4w = 1;结束
如果nargin & lt3 EPS = 1e-5;结束
n =长度(b);k = 0;
x =零(n,1);y =零(n,1);flag = ' OK
%开始迭代:
虽然是真的
y = x;% y和z都是辅助变量。
对于i=1:n
z = b(I);
对于j=1:n
如果j~=i
z=z-A(i,j)* x(j);
结束
结束
如果abs(A(i,I))& lt;1e-10|k==maxl
flag=“失败”;返回;
结束
z=z/A(i,I);x(I)=(1-w)* x(I)+w * z;
结束
if norm(y-x,INF)& lt;蓄电池
打破;
结束
k = k+1;
结束
解线性方程组的%Jacobi迭代法
function [x k flag]=Jacobi(A,b,eps,maxl)
%A是方程式的系数矩阵。
%b是方程的右向量。
精确度需要%eps。
%maxl是最大迭代次数,默认值是100。
%x是方程组的解
%k是迭代的次数
%flag是一个指示器变量。
%分配的初始值:
如果nargin & lt4 maxl = 100;结束
如果nargin & lt3 EPS = 1e-5;结束
n =长度(b);k = 0;
x =零(n,1);y =零(n,1);flag = ' OK
%开始迭代:
而1
对于i=1:n
y(I)= b(I);
对于j=1:n
如果j~=i
y(i)=y(i)-A(i,j)* x(j);
结束
结束
如果abs(A(i,I))& lt;1e-10|k==maxl
flag=“失败”;返回;
结束
y(i)=y(i)/A(i,I);
结束
if norm(y-x,INF)& lt;蓄电池
打破;
结束
x = y;k = k+1;
结束
我肯定能通过一点调试。都是测试过的。记得给我打分。谢谢~ ~ ~