Azzera filtri
Azzera filtri

try to find hessian matrix

15 visualizzazioni (ultimi 30 giorni)
Taniya
Taniya il 13 Lug 2023
Modificato: Torsten il 13 Lug 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 Commenti
Taniya
Taniya il 13 Lug 2023
i could not write the code for the sum series where x sum for 1 to n
Dyuman Joshi
Dyuman Joshi il 13 Lug 2023
The expression you have written above is not clear. Please format it properly.

Accedi per commentare.

Risposta accettata

Rahul
Rahul il 13 Lug 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.

Più risposte (1)

Torsten
Torsten il 13 Lug 2023
Modificato: Torsten il 13 Lug 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