MATLAB小函数:将列向量转化为0-1矩阵
将列向量转化为0-1矩阵,例如
A =
1
2
1
5
3
4
1
4
3
转换为:
B =
1 0 0 0 0
0 1 0 0 0
1 0 0 0 0
0 0 0 0 1
0 0 1 0 0
0 0 0 1 0
1 0 0 0 0
0 0 0 1 0
0 0 1 0 0
1. MATLAB程序
function B=trans_logic(A)
% 将列向量转化为0-1矩阵
% A=[1;2;1;5;3;4;1;4;3];
num=size(A);
for i=1:num
B(i, A(i))=1;
end
2. 结果
>> A=[1;2;1;5;3;4;1;4;3];
>> B=trans_logic(A)
B =
1 0 0 0 0
0 1 0 0 0
1 0 0 0 0
0 0 0 0 1
0 0 1 0 0
0 0 0 1 0
1 0 0 0 0
0 0 0 1 0
0 0 1 0 0
2019-11-13