布爾矩陣由謂詞我有以下矢量:生成行和列
y = [1; 3; 2; 3; 1];
所有其值是1
和n
之間(在這種情況下,3
)和表示不同的選項。
我想創建大小的矩陣size(y, 1)
X n
其行correpond到y
值:做
1 0 0 % because y(1) = 1
0 0 1 % because y(2) = 3
0 1 0 % because y(3) = 2
0 0 1
1 0 0
的一種方式,這將是
Y = zeros(size(y, 1), num_labels);
for i = 1:m
Y(i, y(i)) = 1;
end
有沒有更好的辦法做到這個,也許在一個單一的表達?
基本上,我需要的是用布爾謂詞(i, j) => j == y(i)
生成一個矩陣。
可能的[創建指標矩陣]的副本(http://stackoverflow.com/questions/6150174/creating-indicator-matrix) – Amro