make matrix from other matrix ?

i wan to make matrix of double but when the input of matrix [1,1,1,1,2,2,2,3,...] and i want other matrix to be like this
[ 1 1 0 0
0 0 1 0
0 0 0 1
]
how to do it is where some way to make if statement on row and cell data with for loop and make other matrix depance on it?

3 Comments

What are the conditions or creiteria or dependency on two matrices?
if row == 6 on matrix 1
when
on matrix 2 :
the
[ 0
0
0
0
0
1]
make row(6) = 1 and other = 0 one colum 1
and so on!
I'm not following what you are trying to do here. What do you mean by "if row == 6 on matrix 1"? As in "when M1(6) == 1"? And do you intend to make one M2 matrix every time you check an M1(i) element? More elaboration with another example of what you are trying to achieve would be helpful

Sign in to comment.

Answers (1)

Jan
Jan on 16 Apr 2022
Edited: Jan on 16 Apr 2022
Maybe:
row = [1,1,1,1,2,2,2,3];
s1 = max(row);
s2 = numel(row);
M = zeros(s1, s2);
M(sub2ind([s1, s2], row, 1:s2)) = 1
M = 3×8
1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1

Categories

Asked:

on 16 Apr 2022

Edited:

Jan
on 16 Apr 2022

Community Treasure Hunt

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

Start Hunting!