try to find hessian matrix

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

What have you tried? You are facing any problem or error?
i could not write the code for the sum series where x sum for 1 to n
The expression you have written above is not clear. Please format it properly.

Sign in to comment.

 Accepted Answer

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 = 

Categories

Find more on Numerical Integration and Differential Equations in Help Center and File Exchange

Asked:

on 13 Jul 2023

Edited:

on 13 Jul 2023

Community Treasure Hunt

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

Start Hunting!