假设 J = f ( y ( u ) ) J=f(y(u)) J=f(y(u)) ,已知标量复合函数对标量 的求导:
∂ J ∂ u = ∂ J ∂ y ∂ y ∂ u \frac{\partial J}{\partial u}=\frac{\partial J}{\partial y} \frac{\partial y}{\partial u} ∂u∂J=∂y∂J∂u∂y
以此类推,假设 J = f ( y → ( u → ) ) J=f(\overrightarrow{y}(\overrightarrow{u})) J=f(y (u )), y → = [ y 1 ( u → ) . . y m ( u → ) ] m × 1 \overrightarrow{y}= \begin{bmatrix} y_1(\overrightarrow{u}) \\ .\\ .\\ y_m(\overrightarrow{u})\\ \end{bmatrix}{m\times1} y = y1(u )..ym(u ) m×1, u → = [ u 1 . . u n ] n × 1 \overrightarrow{u}= \begin{bmatrix} u_1\\ .\\ .\\ u_n\\ \end{bmatrix}{n\times1} u = u1..un n×1,则标量复合函数对向量的求导(分母布局):
❌ \] ∂ J ∂ u → = ∂ J ∂ y → m × 1 ∂ y → ∂ u → n × m \[❌\] \\frac{\\partial J}{\\partial \\overrightarrow{u}}=\\frac{\\partial J}{\\partial \\overrightarrow{y}}_{m\\times 1} \\frac{\\partial \\overrightarrow{y}}{\\partial \\overrightarrow{u}}_{n\\times m} \[❌\]∂u ∂J=∂y ∂Jm×1∂u ∂y n×m 可以发现矩阵的行列**无法满足相乘规则,无法相乘** 。 最终通过推导可以得出标量复合函数对向量的求导(分母布局)的正确形式 \[ ✅ \] ∂ J ∂ u → = ∂ y → ∂ u → n × m ∂ J ∂ y → m × 1 \[✅\] \\frac{\\partial J}{\\partial \\overrightarrow{u}}=\\frac{\\partial \\overrightarrow{y}}{\\partial \\overrightarrow{u}}_{n\\times m} \\frac{\\partial J}{\\partial \\overrightarrow{y}}_{m\\times 1} \[✅\]∂u ∂J=∂u ∂y n×m∂y ∂Jm×1 > 例,性能指标、代价函数 状态变量 x → \[ k + 1 \] = A x → \[ k \] + B u → \[ k \] \\overrightarrow{x}_{\[k+1\]}=A\\overrightarrow{x}_{\[k\]}+B\\overrightarrow{u}_{\[k\]} x \[k+1\]=Ax \[k\]+Bu \[k\],代价函数 J = x → \[ k + 1 \] T x → \[ k + 1 \] J=\\overrightarrow{x}\^T_{\[k+1\]}\\overrightarrow{x}_{\[k+1\]} J=x \[k+1\]Tx \[k+1\],则根据上式可得: ∂ J ∂ u → = ∂ x → \[ k + 1 \] ∂ u → \[ k \] ∂ J ∂ x → \[ k + 1 \] \\frac{\\partial J}{\\partial \\overrightarrow{u}}=\\frac{\\partial \\overrightarrow{x}_{\[k+1\]}}{\\partial \\overrightarrow{u}_{\[k\]}} \\frac{\\partial J}{\\partial \\overrightarrow{x}_{\[k+1\]}} ∂u ∂J=∂u \[k\]∂x \[k+1\]∂x \[k+1\]∂J 其中 ∂ x → \[ k + 1 \] ∂ u → \[ k \] = ∂ ( A x → \[ k \] + B u → \[ k \] ) ∂ u → \[ k \] = B T \\frac{\\partial \\overrightarrow{x}_{\[k+1\]}}{\\partial \\overrightarrow{u}_{\[k\]}}=\\frac{\\partial (A\\overrightarrow{x}_{\[k\]}+B\\overrightarrow{u}_{\[k\]})}{\\partial \\overrightarrow{u}_{\[k\]}}=B\^T ∂u \[k\]∂x \[k+1\]=∂u \[k\]∂(Ax \[k\]+Bu \[k\])=BT(向量方程对向量的求导常用特例1), ∂ J ∂ x → \[ k + 1 \] = ∂ ( x → \[ k + 1 \] T x → \[ k + 1 \] ) ∂ x → \[ k + 1 \] = 1 x → \[ k + 1 \] + 1 T x → \[ k + 1 \] = 2 x → \[ k + 1 \] \\frac{\\partial J}{\\partial \\overrightarrow{x}_{\[k+1\]}}=\\frac{\\partial (\\overrightarrow{x}\^T_{\[k+1\]}\\overrightarrow{x}_{\[k+1\]})}{\\partial \\overrightarrow{x}_{\[k+1\]}}=1\\overrightarrow{x}_{\[k+1\]}+1\^T\\overrightarrow{x}_{\[k+1\]}=2\\overrightarrow{x}_{\[k+1\]} ∂x \[k+1\]∂J=∂x \[k+1\]∂(x \[k+1\]Tx \[k+1\])=1x \[k+1\]+1Tx \[k+1\]=2x \[k+1\](向量方程对向量的求导常用特例2),将这两式代入上述最终可得: ∂ J ∂ u → = ∂ x → \[ k + 1 \] ∂ u → \[ k \] ∂ J ∂ x → \[ k + 1 \] = 2 B T x → \[ k + 1 \] \\frac{\\partial J}{\\partial \\overrightarrow{u}}=\\frac{\\partial \\overrightarrow{x}_{\[k+1\]}}{\\partial \\overrightarrow{u}_{\[k\]}} \\frac{\\partial J}{\\partial \\overrightarrow{x}_{\[k+1\]}}=2B\^T\\overrightarrow{x}_{\[k+1\]} ∂u ∂J=∂u \[k\]∂x \[k+1\]∂x \[k+1\]∂J=2BTx \[k+1