try to find hessian matrix

15 次查看(过去 30 天)
Taniya
Taniya 2023-7-13
编辑: Torsten 2023-7-13
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 个评论
Taniya
Taniya 2023-7-13
i could not write the code for the sum series where x sum for 1 to n
Dyuman Joshi
Dyuman Joshi 2023-7-13
The expression you have written above is not clear. Please format it properly.

请先登录,再进行评论。

采纳的回答

Rahul
Rahul 2023-7-13
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.

更多回答(1 个)

Torsten
Torsten 2023-7-13
编辑:Torsten 2023-7-13
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 = 

类别

Help CenterFile Exchange 中查找有关 Calculus 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by