hilbert矩阵以八度为单位给定数字

时间:2015-12-27 11:08:56

标签: matrix octave

我应该通过以下输入创建Hilbert-Matrix H:

希尔伯特(N = 4):

HilbertMatrix

这就是我尝试过的。这是垃圾。有人可以帮帮我吗?

function H = hilbertmatrix(n)
    i=1; 
for i=1:n;`


H=[(1:(1/i+1)) (1:(1/i+1);
   (1:(1/i+1)) (1:(1/i+1)];                          `

end
endfunction

2 个答案:

答案 0 :(得分:0)

只需使用hilb

即可
hilb(4)
ans =

   1.00000   0.50000   0.33333   0.25000
   0.50000   0.33333   0.25000   0.20000
   0.33333   0.25000   0.20000   0.16667
   0.25000   0.20000   0.16667   0.14286

答案 1 :(得分:0)

好的,我想我明白了。所以我会回答我自己的问题。

`function [H,h] = hilbertmatrix(n)

 J = 1:n;
 J = J(ones(n,1),:);
 I = J';
 E = single(ones(n,n));
 H = E./(I+J-1);         %H will give the hilbertmatrix in accordance to the
                         %code above
 h = hilb(n);            %h is for reference.
end
endfunction`