Matlab中的指标矩阵

时间:2011-05-24 08:16:56

标签: matlab

在matlab中,我有一个名为标签的双数据类型变量,其维度为 1211 x 1

我想创建一个 IndicatorMatrix (6列),这样如果 Label 变量中的一行是 34 ,那么相应的行在 IndicatorMatrix 中应 0 0 1 1 0 0

我指的是指标矩阵的1 @ 3和第4列。

1 个答案:

答案 0 :(得分:5)

x成为1211x1矩阵(Label),让im(IndicatorMatrix)成为您想要创建的矩阵。做:

h = size(x,1);
im = [zeros(h, 2), repmat(x == 34, 1, 2), zeros(h, 2)];

这创建了一个矩阵,它是具有2列和高度h的零矩阵的水平连接,然后是x == 34(其中x为34,其他地方为零)的布尔矩阵重复2次水平和垂直,然后再一个零矩阵。

请注意,在您的情况下,我们可以将h替换为1211,但我尝试编写更多通用代码。