How to transform a vector into a binary matrix with row constraint ?
1 回表示 (過去 30 日間)
古いコメントを表示
Hi!
i have this vector v=[1,4,3,2], I want to transform it into a binary matrix under the following constraint: each row can contain only one '1'.
this is the required result
V=[1 0 0 0
0 1 0 0
0 1 0 0
0 1 0 0
0 1 0 0
0 0 1 0
0 0 1 0
0 0 1 0
0 0 0 1
0 0 0 1]
can anyone help me?
2 件のコメント
採用された回答
Dyuman Joshi
2022 年 9 月 6 日
From the apparent relation between v and the required matrix -
v=[1,4,3,2];
y=zeros(sum(v),numel(v));
z=1;
for i=1:numel(v)
y(z:v(i)+z-1,i)=1;
z=z+v(i);
end
y
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!