例如
Q=[a;b;c;d]
S是斜对称的,满足条件-S= S转置
Q的斜对称是真的吗?
S(Q) =[0 -a d -c
a 0 c b
-d -c 0 -a
c -b a 0] ?如何在matlab中直接实现?
发布于 2018-07-20 09:38:13
是的,因为S(i,j) == -S(j,i);,你的S(Q)是一个反对称矩阵。我不确定您所说的Q的斜对称矩阵是什么意思,因为使用一组给定的值,您可以创建许多不同的斜对称矩阵,例如:
S(Q) =[0 -a b -c
a 0 c d
-b -c 0 -a
c -d a 0]上面也是一个使用Q的值构造的斜对称矩阵。注意,b和d的位置是互换的。
如果您的倾斜对称仅限于4x1,并采用问题中指定的形式,则可以为其创建函数:
function s=skew(q)
if numel(q) ~= 4
error('Input vector must have 4 elements.')
end
s=[0 -q(1) q(4) -q(3)
q(1) 0 q(3) q(2)
-q(4) -q(3) 0 -q(1)
q(3) -q(2) q(1) 0];然后
skew_Q = skew(Q);https://stackoverflow.com/questions/51432820
复制相似问题