MATLAB小函數:將列向量轉化爲0-1矩陣

MATLAB小函數:將列向量轉化爲0-1矩陣

做者:凱魯嘎吉 - 博客園 http://www.cnblogs.com/kailugaji/函數

將列向量轉化爲0-1矩陣,例如spa

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-13blog

相關文章
相關標籤/搜索