separet value in one colone to many colone

2 views (last 30 days)
hi, every one !
i have matrix witn n line row
mtx= [1 101;
2 011;
3 111;
4 110;
5 110];
% and so on (n rows )
and i want to have this to disjoin value (one colone 2 ) to sep are in 2 and 3 and 4 colone like this
mtx = [1 1 0 1;
2 0 1 1;
3 1 1 1;
4 1 1 0;
5 1 1 0 ];

Answers (1)

Ameer Hamza
Ameer Hamza on 30 Dec 2020
Edited: Ameer Hamza on 30 Dec 2020
Try this
mtx= [1 101;
2 011;
3 111;
4 110;
5 110];
cols = reshape(sprintf('%03d', mtx(:,2)), 3, []).'-'0';
out = [mtx(:,1) cols]
Result
>> out
out =
1 1 0 1
2 0 1 1
3 1 1 1
4 1 1 0
5 1 1 0
  3 Comments
Image Analyst
Image Analyst on 30 Dec 2020
alize, can you please click the "Accept this answer" link to give Ameer credit in terms of "reputation points" for helping you with this clever answer? Thanks in advance. 🙂

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!