我想将4x1向量列转换为倾斜对称矩阵

时间:2018-07-19 22:59:32

标签: matlab matrix

例如

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中实现?

1 个答案:

答案 0 :(得分:2)

是的,自order | group | value -3 | a | 0 -2 | a | 3 -1 | a | nan 0 | a | nan -4 | b | 2 -3 | b | nan -2 | b | nan -1 | b | nan 0 | b | nan 起,您的S(Q)是一个歪斜对称矩阵。我不确定S(i,j) == -S(j,i);的偏斜对称矩阵的含义,因为有了给定的一组值,您可以创建许多不同的偏斜对称矩阵,例如:

Q

以上也是使用S(Q) =[0 -a b -c a 0 c d -b -c 0 -a c -d a 0] 值构造的偏斜对称矩阵。请注意,Qb的位置已切换。

如果倾斜对称仅限于4x1并采用问题中指定的形式,则可以为其创建函数:

d

然后

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];