MATLAB 符号矩阵 symmatrix symmatrix2sym 矩阵导数

symmatrix a ,最小单元是矩阵a,可用于求矩阵导数

syms a ,最小单元是标量a

%% 符号矩阵 symmatrix  symmatrix2sym
clc;clear;
syms a_b_R [3,3] matrix
syms a_P_b [3,1] matrix
a_b_R
a_P_b
a_b_R(2,3)
a_b_T=[a_b_R,a_P_b;
       0,0,0,1]
symmatrix2sym(1/a_b_T)


syms A [3,3] matrix
syms X [3,1] matrix
f = X.'*A*X
H = diff(f,X,X.')
symmatrix2sym(H)

结果:

 
a_b_R =
 
a_b_R
 
 
a_P_b =
 
a_P_b
 
 
ans =
 
a_b_R2_3
 
 
a_b_T =
 
vertcat(horzcat(a_b_R, a_P_b), symmatrix([0,0,0,1]))
 
 
ans =
 
[ (a_b_R2_2*a_b_R3_3 - a_b_R2_3*a_b_R3_2)/(a_b_R1_1*a_b_R2_2*a_b_R3_3 - a_b_R1_1*a_b_R2_3*a_b_R3_2 - a_b_R1_2*a_b_R2_1*a_b_R3_3 + a_b_R1_2*a_b_R2_3*a_b_R3_1 + a_b_R1_3*a_b_R2_1*a_b_R3_2 - a_b_R1_3*a_b_R2_2*a_b_R3_1), -(a_b_R1_2*a_b_R3_3 - a_b_R1_3*a_b_R3_2)/(a_b_R1_1*a_b_R2_2*a_b_R3_3 - a_b_R1_1*a_b_R2_3*a_b_R3_2 - a_b_R1_2*a_b_R2_1*a_b_R3_3 + a_b_R1_2*a_b_R2_3*a_b_R3_1 + a_b_R1_3*a_b_R2_1*a_b_R3_2 - a_b_R1_3*a_b_R2_2*a_b_R3_1),  (a_b_R1_2*a_b_R2_3 - a_b_R1_3*a_b_R2_2)/(a_b_R1_1*a_b_R2_2*a_b_R3_3 - a_b_R1_1*a_b_R2_3*a_b_R3_2 - a_b_R1_2*a_b_R2_1*a_b_R3_3 + a_b_R1_2*a_b_R2_3*a_b_R3_1 + a_b_R1_3*a_b_R2_1*a_b_R3_2 - a_b_R1_3*a_b_R2_2*a_b_R3_1), -(a_P_b3*a_b_R1_2*a_b_R2_3 - a_P_b3*a_b_R1_3*a_b_R2_2 - a_P_b2*a_b_R1_2*a_b_R3_3 + a_P_b2*a_b_R1_3*a_b_R3_2 + a_P_b1*a_b_R2_2*a_b_R3_3 - a_P_b1*a_b_R2_3*a_b_R3_2)/(a_b_R1_1*a_b_R2_2*a_b_R3_3 - a_b_R1_1*a_b_R2_3*a_b_R3_2 - a_b_R1_2*a_b_R2_1*a_b_R3_3 + a_b_R1_2*a_b_R2_3*a_b_R3_1 + a_b_R1_3*a_b_R2_1*a_b_R3_2 - a_b_R1_3*a_b_R2_2*a_b_R3_1)]
[-(a_b_R2_1*a_b_R3_3 - a_b_R2_3*a_b_R3_1)/(a_b_R1_1*a_b_R2_2*a_b_R3_3 - a_b_R1_1*a_b_R2_3*a_b_R3_2 - a_b_R1_2*a_b_R2_1*a_b_R3_3 + a_b_R1_2*a_b_R2_3*a_b_R3_1 + a_b_R1_3*a_b_R2_1*a_b_R3_2 - a_b_R1_3*a_b_R2_2*a_b_R3_1),  (a_b_R1_1*a_b_R3_3 - a_b_R1_3*a_b_R3_1)/(a_b_R1_1*a_b_R2_2*a_b_R3_3 - a_b_R1_1*a_b_R2_3*a_b_R3_2 - a_b_R1_2*a_b_R2_1*a_b_R3_3 + a_b_R1_2*a_b_R2_3*a_b_R3_1 + a_b_R1_3*a_b_R2_1*a_b_R3_2 - a_b_R1_3*a_b_R2_2*a_b_R3_1), -(a_b_R1_1*a_b_R2_3 - a_b_R1_3*a_b_R2_1)/(a_b_R1_1*a_b_R2_2*a_b_R3_3 - a_b_R1_1*a_b_R2_3*a_b_R3_2 - a_b_R1_2*a_b_R2_1*a_b_R3_3 + a_b_R1_2*a_b_R2_3*a_b_R3_1 + a_b_R1_3*a_b_R2_1*a_b_R3_2 - a_b_R1_3*a_b_R2_2*a_b_R3_1),  (a_P_b3*a_b_R1_1*a_b_R2_3 - a_P_b3*a_b_R1_3*a_b_R2_1 - a_P_b2*a_b_R1_1*a_b_R3_3 + a_P_b2*a_b_R1_3*a_b_R3_1 + a_P_b1*a_b_R2_1*a_b_R3_3 - a_P_b1*a_b_R2_3*a_b_R3_1)/(a_b_R1_1*a_b_R2_2*a_b_R3_3 - a_b_R1_1*a_b_R2_3*a_b_R3_2 - a_b_R1_2*a_b_R2_1*a_b_R3_3 + a_b_R1_2*a_b_R2_3*a_b_R3_1 + a_b_R1_3*a_b_R2_1*a_b_R3_2 - a_b_R1_3*a_b_R2_2*a_b_R3_1)]
[ (a_b_R2_1*a_b_R3_2 - a_b_R2_2*a_b_R3_1)/(a_b_R1_1*a_b_R2_2*a_b_R3_3 - a_b_R1_1*a_b_R2_3*a_b_R3_2 - a_b_R1_2*a_b_R2_1*a_b_R3_3 + a_b_R1_2*a_b_R2_3*a_b_R3_1 + a_b_R1_3*a_b_R2_1*a_b_R3_2 - a_b_R1_3*a_b_R2_2*a_b_R3_1), -(a_b_R1_1*a_b_R3_2 - a_b_R1_2*a_b_R3_1)/(a_b_R1_1*a_b_R2_2*a_b_R3_3 - a_b_R1_1*a_b_R2_3*a_b_R3_2 - a_b_R1_2*a_b_R2_1*a_b_R3_3 + a_b_R1_2*a_b_R2_3*a_b_R3_1 + a_b_R1_3*a_b_R2_1*a_b_R3_2 - a_b_R1_3*a_b_R2_2*a_b_R3_1),  (a_b_R1_1*a_b_R2_2 - a_b_R1_2*a_b_R2_1)/(a_b_R1_1*a_b_R2_2*a_b_R3_3 - a_b_R1_1*a_b_R2_3*a_b_R3_2 - a_b_R1_2*a_b_R2_1*a_b_R3_3 + a_b_R1_2*a_b_R2_3*a_b_R3_1 + a_b_R1_3*a_b_R2_1*a_b_R3_2 - a_b_R1_3*a_b_R2_2*a_b_R3_1), -(a_P_b3*a_b_R1_1*a_b_R2_2 - a_P_b3*a_b_R1_2*a_b_R2_1 - a_P_b2*a_b_R1_1*a_b_R3_2 + a_P_b2*a_b_R1_2*a_b_R3_1 + a_P_b1*a_b_R2_1*a_b_R3_2 - a_P_b1*a_b_R2_2*a_b_R3_1)/(a_b_R1_1*a_b_R2_2*a_b_R3_3 - a_b_R1_1*a_b_R2_3*a_b_R3_2 - a_b_R1_2*a_b_R2_1*a_b_R3_3 + a_b_R1_2*a_b_R2_3*a_b_R3_1 + a_b_R1_3*a_b_R2_1*a_b_R3_2 - a_b_R1_3*a_b_R2_2*a_b_R3_1)]
[                                                                                                                                                                                                                     0,                                                                                                                                                                                                                      0,                                                                                                                                                                                                                      0,                                                                                                                                                                                                                                                                                                                                                1]
 
 
f =
 
X.'*A*X
 
 
H =
 
A.' + A
 
 
ans =
 
[     2*A1_1, A1_2 + A2_1, A1_3 + A3_1]
[A1_2 + A2_1,      2*A2_2, A2_3 + A3_2]
[A1_3 + A3_1, A2_3 + A3_2,      2*A3_3]
 
>> 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_45111955

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值