雅克比迭代法MATLAB代码
时间: 2023-11-01 15:06:52 浏览: 120
MATLAB实现雅克比迭代法
5星 · 资源好评率100%
以下是雅各比迭代法的MATLAB代码示例:
function [x, iter] = jacobi(A, b, x0, eps, max_iter)
% A: 系数矩阵
% b: 右侧向量
% x0: 初始解向量
% eps: 所需精度
% max_iter: 最大迭代次数
% 计算系数矩阵D和矩阵L+U
D = diag(diag(A));
L = -tril(A, -1);
U = -triu(A, 1);
% 进行迭代
x = x0;
iter = 0;
while norm(A*x - b) > eps && iter < max_iter
x = D \ (b + L*x + U*x);
iter = iter + 1;
end
% 输出结果
if iter == max_iter
fprintf('未能在%d步内达到指定精度\n', max_iter);
end
fprintf('迭代次数: %d\n', iter);
@end
阅读全文