拆分向量到多个向量

时间:2017-06-26 13:53:12

标签: matlab

我正在寻找一种简单的方法来转换以下类型的矢量 [1 1 0 1 1]

对这组载体:

[0 0 0 0 1]
[0 0 0 1 0]
[0 1 0 0 0]
[1 0 0 0 0]

向量本身表示多项式系数(x ^ 4 + x ^ 3 + x + 1)

由于

1 个答案:

答案 0 :(得分:0)

以下是一些方法。输入是向量v,输出是矩阵M

[~, rr, vv] = find(v);
M = full(sparse(1:nnz(v), flip(rr), 1));
M = flip(eye(numel(v)));
M = M(logical(v),:)
M = zeros(nnz(v), numel(v));
M(sub2ind(size(M), 1:size(M,1), flip(find(v)))) = 1;
M = double(bsxfun(@eq, flip(find(v(:))), 1:numel(v)));