Convert Column vector into matrix

1 visualizzazione (ultimi 30 giorni)
pankaj singh
pankaj singh il 30 Nov 2020
Risposto: Nicholas Brophy il 30 Nov 2020
I have a 1158x1 column vector. The elements of the vector has values from 1 to 256. Each value is repeated for a maximum of 10 times. Some values are repeated even for less than 10 times. I want to convert into 10X256 matrix. I want all the 1's to be in 1st column, 2's in the second column and so on. To make it a proper matrix, fill rest of the values with zeros. The column vector is attached. How can I do that?
  2 Commenti
Stephan
Stephan il 30 Nov 2020
What about the missing values? For example 141 and 144 have no occurence - wha about the corresponding columns?
pankaj singh
pankaj singh il 30 Nov 2020
those columns can be filled by zeros.

Accedi per commentare.

Risposta accettata

Matt J
Matt J il 30 Nov 2020
Modificato: Matt J il 30 Nov 2020
H=histcounts(coln,1:257);
result=((1:10).'<=H).*(1:256);

Più risposte (1)

Nicholas Brophy
Nicholas Brophy il 30 Nov 2020
function [arr]=pankajSort(vec)
arr=zeros(10,length(vec));
for i= 1:length(vec)
mask= i==vec;
TRUES = sum(mask,'all');
for ii=1:TRUES
arr(ii,i)=i;
end
end

Categorie

Scopri di più su Author Block Masks in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by