用matlab编写高斯-塞德尔函数
时间: 2024-06-13 15:09:54 浏览: 72
利用MATLAB编写高斯积分
5星 · 资源好评率100%
以下是用Matlab编写高斯-塞德尔函数的示例代码:
```matlab
function [x, error, iter] = gauss_seidel(A, b, x0, tol, maxiter)
% 高斯-塞德尔迭代法求解线性方程组 Ax=b
% 输入参数:
% A:系数矩阵
% b:常数向量
% x0:迭代初值
% tol:容差
% maxiter:最大迭代次数
% 输出参数:
% x:方程组的解
% error:误差向量
% iter:实际迭代次数
n = length(b);
x = x0;
iter = 0;
error = zeros(maxiter, 1);
while iter < maxiter
for i = 1:n
x(i) = (b(i) - A(i, 1:i-1)*x(1:i-1) - A(i, i+1:n)*x0(i+1:n)) / A(i, i);
end
error(iter+1) = norm(x - x0, inf);
if error(iter+1) < tol
break;
end
x0 = x;
iter = iter + 1;
end
error = error(1:iter);
end
```
阅读全文