try to find hessian matrix

30 views (last 30 days)
Taniya
Taniya on 13 Jul 2023
Edited: Torsten on 13 Jul 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 Comments
Taniya
Taniya on 13 Jul 2023
i could not write the code for the sum series where x sum for 1 to n
Dyuman Joshi
Dyuman Joshi on 13 Jul 2023
The expression you have written above is not clear. Please format it properly.

Sign in to comment.

Accepted Answer

Rahul
Rahul on 13 Jul 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.

More Answers (1)

Torsten
Torsten on 13 Jul 2023
Edited: Torsten on 13 Jul 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!