【问题标题】:Construct matrix from array indices从数组索引构造矩阵
【发布时间】:2016-10-26 19:46:51
【问题描述】:

这可能很简单,但我看不到。有没有办法在不枚举所有 A(i) 的情况下构造矩阵 B(如下)?

A = [0 0 1 2 0 1];
>> B = [A == A(1);A == A(2);A == A(3);A == A(4);A == A(5);A == A(6)]

B =

 1     1     0     0     1     0
 1     1     0     0     1     0
 0     0     1     0     0     1
 0     0     0     1     0     0
 1     1     0     0     1     0
 0     0     1     0     0     1

【问题讨论】:

    标签: matlab matrix vectorization


    【解决方案1】:

    使用bsxfun -

    bsxfun(@eq,A(:),A)
    

    在具有自动广播功能的 MATLAB 2016b 及更高版本上,它将简化为 -

    A(:)==A
    

    那里看起来像是一些 ascii 艺术,可能是 B

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-15
      • 2015-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多