try to find hessian matrix

30 vues (au cours des 30 derniers jours)
Taniya
Taniya le 13 Juil 2023
Modifié(e) : Torsten le 13 Juil 2023
f(k) = n*ln(k)-n*ln(1/n*sum(i=1 to n)xi^k+(k-1)sum of (1to n)ln(xi))-n
  3 commentaires
Taniya
Taniya le 13 Juil 2023
i could not write the code for the sum series where x sum for 1 to n
Dyuman Joshi
Dyuman Joshi le 13 Juil 2023
The expression you have written above is not clear. Please format it properly.

Connectez-vous pour commenter.

Réponse acceptée

Rahul
Rahul le 13 Juil 2023
Hi Taniya,
Assuming you have k, n and xi, you can try the following code to find the Hessian Matrix:
f = n*log(k) - n*log(1/n * sum(xi^k, i, 1, n) + (k-1) * sum(log(xi), i, 1, n)) - n;
% Calculate the second partial derivatives
d2f_dk2 = diff(f, k, 2);
d2f_dxi_dk = diff(f, k, xi);
d2f_dk_dxi = diff(f, xi, k);
d2f_dxi2 = diff(f, xi, 2);
% Create the Hessian matrix
H = [d2f_dk2, d2f_dxi_dk; d2f_dk_dxi, d2f_dxi2];
Hope this helps.
Thanks.

Plus de réponses (1)

Torsten
Torsten le 13 Juil 2023
Modifié(e) : Torsten le 13 Juil 2023
The vector of independent variables is (x1,x2,...,xn):
syms i k
n = 3;
x = sym('x',[1 n])
x = 
f = n*log(k) - n*log(1/n*sum(x.^k) + (k-1)*sum(log(x))) - n
f = 
df = gradient(f,x)
df = 
d2f = hessian(f,x)
d2f = 

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by