用jacobi迭代法求解线性方程组的MATLAB代码
时间: 2023-09-12 08:10:02 浏览: 105
Jacobi迭代法,求解线性方程组 matlab代码
以下是使用Jacobi迭代法求解线性方程组的MATLAB代码:
```matlab
function [x,iter] = jacobi(A,b,x0,tol,maxiter)
% A:系数矩阵,b:常数列,x0:初值列,tol:容差,maxiter:最大迭代次数
% x:解向量,iter:实际迭代次数
n = length(b); % 系数矩阵A的行数
x = x0; % 初始化解向量
iter = 0; % 初始化迭代次数
while iter < maxiter
iter = iter+1; % 迭代次数加1
for i = 1:n
temp = b(i);
for j = 1:n
if j ~= i
temp = temp-A(i,j)*x(j);
end
end
x(i) = temp/A(i,i);
end
if norm(A*x-b) < tol % 判断是否满足容差要求
break;
end
end
```
使用方法:
1. 定义系数矩阵A、常数列b、初值列x0、容差tol和最大迭代次数maxiter;
2. 调用jacobi函数,传入以上参数,得到解向量x和实际迭代次数iter。
阅读全文