Matlab中的指标矩阵

Lea*_*ner 2 matlab

在matlab中,我有一个名为Label的双数据类型变量,其尺寸为1211 x 1.

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

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

Bar*_*kin 5

x是1211x1矩阵(标签),让im(IndicatorMatrix)是你希望创建的矩阵.做:

h = size(x,1);
im = [zeros(h, 2), repmat(x == 34, 1, 2), zeros(h, 2)];
Run Code Online (Sandbox Code Playgroud)

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

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