separet value in one colone to many colone

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)

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

I am glad to be of help!!!
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.

Asked:

on 30 Dec 2020

Commented:

on 30 Dec 2020

Community Treasure Hunt

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

Start Hunting!