我有一个向量。假设x=[0-2-1-1 0-1]。我想从x向量中找到符号。符号为(1,-2(、(0,-1(、(0,1(、(0,-1(和(2,-1(。
(1;0";在"-2〃;。(0;0";在"-1〃;。(2;0";在"-1〃;。
知道吗?它似乎有点难以编码。
您可以使用find
和diff
:
x=[0 -2 -1 -1 -1 0 0 -1];
idx = find(x ~= 0); % Get the positions of the non-zero elements
symbols = [diff([0,idx])-1; x(idx)]; % Number of positions since previous non-zero
% With the corresponding element underneath
获取输出
symbols =
1 0 0 0 2
-2 -1 -1 -1 -1
其中您的对对应于此数组中的列。