Я должен создать матрицу Гильберта 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
-1
Phil 27 Дек 2015 в 14:08

2 ответа

Лучший ответ

Хорошо, я думаю, что понял. Я отвечу на свой вопрос.

`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`

.

0
Phil 29 Дек 2015 в 09:33

Просто используйте 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
0
ederag 27 Дек 2015 в 11:28