小编Dud*_*Wah的帖子

最陡下降以找到具有希尔伯特矩阵的线性系统的解

我正在使用最速下降法来找出具有5x5希尔伯特矩阵的线性系统的解.我相信代码很好,因为它给了我正确的答案.

我的问题是:

  1. 我认为这需要太多的迭代才能得到正确的答案.我相信我可能错过了算法中的一些东西,但我不知道此时是什么.

  2. 我不确定这是否是实现算法的最有效方法,另外,选择"tol"有点令人困惑.

任何有关这些的见解将不胜感激(尤其是1.).谢谢!

% Method of Steepest Descent with tol 10^-6
h = hilb(5);                            %Hilbert 5x5 matrix
b = [1;1;1;1;1];                        %solution matrix
solution = zeros(d,1);                  %Initialization 
residual = h*solution - b;
tol = 10^(-6)
count = 0; 

while residual'*residual > tol;
    roe = (residual'*residual)/(residual'*h*residual);
    solution = solution - roe*residual;
    residual = h*solution - b;
    count = count + 1;
end

count 
solution 


%Method of Steepest Descent with tol 10^-12
solution = zeros(d,1);
residual = h*solution - …
Run Code Online (Sandbox Code Playgroud)

optimization matlab mathematical-optimization numerical-methods gradient-descent

5
推荐指数
1
解决办法
916
查看次数