Ankur Guglani Ответов: 1

Как найти градиент многомерной функции в C++?



например, мы имеем f(x)=x*y*z+x^2*y^3*z
как мы пишем код на c++, чтобы получить градиент, а затем якобиан матрицы













62

Что я уже пробовал:

я попробовал вектор, но не смог его завершить

Richard MacCutchan

Это действительно математический вопрос. Сначала вам нужно найти математическую формулу. Написать код легко, как только вы это сделаете.

1 Ответов

Рейтинг:
0

CPallini

Цитата:
f(x)=x*y*z+x^2*y^3*z
Это должно быть написано, Вы знаете, таким образом
f(x,y,z)=x*y*z+x^2*y^3*z
Тогда градиент (вектор функций) будет равен
{ y*z+2*x*y^3*z, x*z+3*x^2*y^2*z, x*y+x^2*y^3}
(Матрица Якоби была бы такой же).

Итак, настоящий вопрос заключается в следующем: "вы хотите разработать общий алгоритм, способный найти градиент и Якобиеву матрицу (векторов) функций?"
Это будет очень трудная задача.