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

偶尔善良 提交于 2019-12-04 08:28:47

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!