MATLAB小函数:将列向量转化为0-1矩阵

作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

将列向量转化为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

05-15 00:53