主要内容

写向量和矩阵目标函数

什么是向量和矩阵目标函数?

一些解算器,如fsolvelsqcurvefit的目标函数是向量或矩阵。这些类型的目标函数和标量目标函数就是它们的导数。一个向量值或矩阵值函数的一阶偏导数称为雅可比矩阵;标量函数的一阶偏导数称为梯度。

有关复值目标函数的信息,请参见在最优化工具箱求解器中的复数

向量函数的雅可比矩阵

如果x是由自变量和组成的向量吗Fx)是一个向量函数,即雅可比矩阵Jx)是

J j x F x x j

如果F组件和xk组件,J是一个——- - - - - -k矩阵。

例如,如果

F x x 1 2 + x 2 x 3. x 1 + 2 x 2 3. x 3.

然后Jx)是

J x 2 x 1 x 3. x 2 因为 x 1 + 2 x 2 3. x 3. 2 因为 x 1 + 2 x 2 3. x 3. 3. 因为 x 1 + 2 x 2 3. x 3.

与这个例子相关的函数文件是:

函数[F (1)^2 + x(2)*x(3)];Sin (x(1) + 2*x(2) - 3*x(3))];if nargout > 1% need Jacobian jacF = [2*x(1),x(3),x(2);cos (x (1) + 2 * 3 * (2) x (3)), 2 * cos (x x (2) (1) + 2 * 3 * x(3)),…3 * cos (x x (2) (1) + 2 * 3 * x (3)));结束

为了告诉求解器你的目标函数包含雅可比矩阵,设置SpecifyObjectiveGradient选项真正的.例如:

选择= optimoptions (“lsqnonlin”“SpecifyObjectiveGradient”,真正的);

矩阵函数的雅可比矩阵

定义一个矩阵的雅可比矩阵Fx),将矩阵逐列变换为向量。例如,重写矩阵

F F 11 F 12 F 21 F 22 F 31 F 32

作为一个向量f

f F 11 F 21 F 31 F 12 F 22 F 32

的雅可比矩阵F是由雅可比矩阵定义的f

J j f x j

如果F是一个——- - - - - -n矩阵,x是一个k-向量,雅可比矩阵是——- - - - - -k矩阵。

例如,如果

F x x 1 x 2 x 1 3. + 3. x 2 2 5 x 2 x 1 4 x 2 / x 1 4 x 2 2 x 1 3. x 2 4

那么雅可比矩阵F

J x x 2 x 1 4 x 1 3. 5 0 2 x 2 3. x 1 2 6 x 2 x 2 / x 1 2 1 / x 1 3. x 1 2 4 x 2 3.

具有矩阵值独立变量的雅可比矩阵

如果x是一个矩阵,定义雅可比矩阵Fx)通过改变矩阵x到一个向量,一列接着一列。例如,如果

X x 11 x 12 x 21 x 22

梯度是用向量来定义的

x x 11 x 21 x 12 x 22

F F 11 F 12 F 21 F 22 F 31 F 32

f的向量形式F的雅可比矩阵FX)定义为的雅可比矩阵fx):

J j f x j

举个例子,

J 3. 2 f 3. x 2 F 31 X 21 J 5 4 f 5 x 4 F 22 X 22

如果F是一个——- - - - - -n矩阵和x是一个j——- - - - - -k矩阵,那么雅可比矩阵是——- - - - - -jk矩阵。

相关的话题