2017-06-26 6 views
0

Ich bin für eine einfache Methode suchen einen Vektor der folgenden Art zu verwandeln [1 1 0 1 1]Split Vektor, um mehrere Vektoren

Zu dieser Gruppe von Vektoren:

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

Die Vektor selbst repräsentiert Polynomkoeffizienten (x^4 + x^3 + x + 1)

Dank

+0

sollte die Ausgabe eine Matrix sein? –

Antwort

0

Hier sind einige Ansätze. Eingang ist ein Vektor v, Ausgabe ist eine Matrix 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))); 
Verwandte Themen