【问题标题】:Indicator matrix in MatlabMatlab中的指标矩阵
【发布时间】:2011-05-24 08:16:56
【问题描述】:

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

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

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

【问题讨论】:

    标签: matlab


    【解决方案1】:

    x 为 1211x1 矩阵(标签),让im(IndicatorMatrix)为您希望创建的矩阵。做:

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

    这将创建一个矩阵,它是具有 2 列和高度 h 的零矩阵的水平串联,然后是 x == 34 的布尔矩阵(其中 x 为 34 时为 1,在其他地方为零)重复 2 次水平和垂直一次,然后又是另一个零矩阵。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-20
      • 2018-12-02
      相关资源
      最近更新 更多