Convert Column vector into matrix

2 views (last 30 days)
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 Comments
Stephan
Stephan on 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 on 30 Nov 2020
those columns can be filled by zeros.

Sign in to comment.

Accepted Answer

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

More Answers (1)

Nicholas Brophy
Nicholas Brophy on 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

Categories

Find more on Author Block Masks in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!