Вопрос задан 04.11.2026 в 17:34. Предмет Информатика. Спрашивает Кузин Дима.

Тема: Численное вычисление градиента функции и матрицы Гессе в конкретной точке x(k). Необходимо в среде Matlab: 1. Написать подпрограмму численного вычисления градиента функции f(x1, x2) и протестировать её. 2. Написать подпрограмму численного вычисления матрицы Гессе в заданной точке x(k) для f(x1, x2) и протестировать её.

Перейти к ответам

Ответы на вопрос

Отвечает Серикбаев Бегзат.

Численное вычисление градиента функции и матрицы Гессе в заданной точке x(k) в среде MATLAB

1. Теоретические сведения

При решении задач численной оптимизации часто возникает необходимость вычислять градиент функции и матрицу Гессе. Если аналитическое дифференцирование затруднено или невозможно, можно использовать методы численного дифференцирования.

Рассмотрим функцию двух переменных:

f(x)=f(x1,x2).f(x)=f(x_1,x_2).

Градиент функции — это вектор частных производных первого порядка:

∇f(x)=(∂f∂x1∂f∂x2).\nabla f(x)= \begin{pmatrix} \frac{\partial f}{\partial x_1}\\ \frac{\partial f}{\partial x_2} \end{pmatrix}.

Для численного вычисления градиента можно использовать метод конечных разностей. В данной работе применяется центральная разностная схема, которая обладает вторым порядком точности.

Формулы для вычисления частных производных:

∂f∂x1≈f(x1+h,x2)−f(x1−h,x2)2h,\frac{\partial f}{\partial x_1} \approx \frac{f(x_1+h,x_2)-f(x_1-h,x_2)}{2h},
∂f∂x2≈f(x1,x2+h)−f(x1,x2−h)2h.\frac{\partial f}{\partial x_2} \approx \frac{f(x_1,x_2+h)-f(x_1,x_2-h)}{2h}.

Здесь hh — малый шаг численного дифференцирования.

Матрица Гессе — это квадратная матрица, состоящая из частных производных второго порядка:

H(x)=(∂2f∂x12∂2f∂x1∂x2∂2f∂x2∂x1∂2f∂x22).H(x)= \begin{pmatrix} \frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\partial x_2}\\ \frac{\partial^2 f}{\partial x_2\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} \end{pmatrix}.

Для её численного вычисления используем центральные разностные формулы:

Вторая производная по первой переменной:

∂2f∂x12≈f(x1+h,x2)−2f(x1,x2)+f(x1−h,x2)h2.\frac{\partial^2 f}{\partial x_1^2} \approx \frac{f(x_1+h,x_2)-2f(x_1,x_2)+f(x_1-h,x_2)}{h^2}.

Вторая производная по второй переменной:

∂2f∂x22≈f(x1,x2+h)−2f(x1,x2)+f(x1,x2−h)h2.\frac{\partial^2 f}{\partial x_2^2} \approx \frac{f(x_1,x_2+h)-2f(x_1,x_2)+f(x_1,x_2-h)}{h^2}.

Смешанная производная:

∂2f∂x1∂x2≈f(x1+h,x2+h)−f(x1+h,x2−h)−f(x1−h,x2+h)+f(x1−h,x2−h)4h2.\frac{\partial^2 f}{\partial x_1\partial x_2} \approx \frac{ f(x_1+h,x_2+h)-f(x_1+h,x_2-h) -f(x_1-h,x_2+h)+f(x_1-h,x_2-h) }{4h^2}.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос