x = sym('x', [2,1]); f = x(1)^2+2*x(2)^2 g = gradient(f) % g = [diff(f, x(1)); diff(f,x(2))] x = [1;1] f_X = subs(f, {x(1), x(2)}, X) g_X = subs(g, {x(1), x(2)}, X) d = -g_X %najprostsza wersja spadku a = sym('a') %alfa g_fun = subs(f, {x(1), x(2)}, X+a*d) g_fun_a = subs(g_fun, a, 1) % liczymy jaka bedzie wartosc funkcji g dla przesuniecia 1 H = hessian(f) % hesian inv(H) % odwrotnosc hesianu