符号矩阵函数微分
Posted
技术标签:
【中文标题】符号矩阵函数微分【英文标题】:Symbol matrix function differentiation 【发布时间】:2013-03-03 14:38:11 【问题描述】:1.函数'diff'似乎只能与单元素变量'v'一起使用
diff(f,v); % f(v), v is a one-lelement variable
虽然我想对符号矩阵进行微分
diff(F, V); % F(V), V is a symbol matrix variable
2.如果我对符号矩阵的每个元素进行微分,得到diff(F, V)的结果,而结果是逐元素格式的,
[g1(v_i), g2(v_i), ..., gn(v_i)]
所以我想知道有没有一些方法可以像这样以符号矩阵变量格式生成结果?
g(V)
3.例如
diff(x^T*A*x, x) = A^T*x + A*x; % A is a constant matrix, x is a vector
【问题讨论】:
【参考方案1】:我相信你正在寻找jacobian
。
【讨论】:
不完全是,matlab的jacobian函数的结果像上面的第2个一样展开。 那我想我误解了你想看的内容。这是关于输出/显示的问题,还是您正在寻找如何将g(V)
作为导数的输入?
例如如果matlab的jacobian的输出是ans = [a11+b11, a12+b12; a21+b21, a22+b22] 但是,我想获得这样的输出 ans = A+B
抱歉,Symbolic Math Toolbox 无法做到这一点(也许在特定情况下,但我想不出任何)。当然,您可以联系 support@mathworks.com 并提出改进建议。以上是关于符号矩阵函数微分的主要内容,如果未能解决你的问题,请参考以下文章