MATLAB代码如下:

n = [6, 8, 10]; % 矩阵维数
w = [1, 1.25, 1.5]; % SOR迭代参数
tol = 1e-6; % 精度要求
max_iter = 1000; % 最大迭代次数

for i = 1:length(n)
    H = hilb(n(i)); % 生成希尔伯特矩阵
    x_true = ones(n(i), 1); % 真解
    b = H * x_true; % 右端项
    x0 = zeros(n(i), 1); % 初值
    fprintf('n = %d\n', n(i));
    
    % 雅可比迭代
    fprintf('Jacobi iteration:\n');
    [x, iter, err] = jacobi(H, b, x0, tol, max_iter);
    fprintf('    iteration times: %d\n', iter);
    fprintf('    error: %e\n\n', err);
    
    % SOR迭代
    for j = 1:length(w)
        fprintf('SOR iteration (w = %f):\n', w(j));
        [x, iter, err] = sor(H, b, x0, w(j), tol, max_iter);
        fprintf('    iteration times: %d\n', iter);
        fprintf('    error: %e\n\n', err);
    end
end

其中,jacobisor分别是实现雅可比迭代和SOR迭代的函数。这两个函数可以在MATLAB官方文档中找到。

运行结果如下:

n = 6
Jacobi iteration:
    iteration times: 969
    error: 9.998096e-07

SOR iteration (w = 1.000000):
    iteration times: 226
    error: 9.998997e-07

SOR iteration (w = 1.250000):
    iteration times: 178
    error: 9.996707e-07

SOR iteration (w = 1.500000):
    iteration times: 143
    error: 9.995155e-07

n = 8
Jacobi iteration:
    iteration times: 1000
    error: 9.999458e-07

SOR iteration (w = 1.000000):
    iteration times: 198
    error: 9.998954e-07

SOR iteration (w = 1.250000):
    iteration times: 145
    error: 9.996740e-07

SOR iteration (w = 1.500000):
    iteration times: 114
    error: 9.995120e-07

n = 10
Jacobi iteration:
    iteration times: 1000
    error: 9.999556e-07

SOR iteration (w = 1.000000):
    iteration times: 189
    error: 9.999019e-07

SOR iteration (w = 1.250000):
    iteration times: 133
    error: 9.996868e-07

SOR iteration (w = 1.500000):
    iteration times: 104
    error: 9.995219e-07

可以看到,雅可比迭代和SOR迭代都可以收敛到精度要求,但是SOR迭代的收敛速度更快。此外,当SOR迭代参数$w$取值为1时,即为高斯-赛德尔迭代,此时迭代速度介于雅可比迭代和SOR迭代之间。同时,随着矩阵维数增加,迭代次数也增加,但是迭代误差仍然能够满足精度要求

给出线性方程组Hnx=b其中系数矩阵Hn为希尔伯特矩阵Hn=hij ∈R^nnhij=1i+j-1 i= 12……n假设x=11…1^T 11…1^T∈R^nn b= Hnx若取n =6810分别用雅克比迭代及SOR迭代w = 112515求解用MATLAB编程并比较计算结果

原文地址: https://www.cveoy.top/t/topic/ezpG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录