make matrix from other matrix ?

3 次查看(过去 30 天)
jumana eltrabelsi
jumana eltrabelsi 2022-4-16
编辑: Jan 2022-4-16
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 个评论
jumana eltrabelsi
jumana eltrabelsi 2022-4-16
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!
Xinzhi Jiang
Xinzhi Jiang 2022-4-16
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

请先登录,再进行评论。

回答(1 个)

Jan
Jan 2022-4-16
编辑:Jan 2022-4-16
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

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by