【问题标题】:Blockwise sum of a matrix矩阵的逐块和
【发布时间】:2018-10-10 17:51:35
【问题描述】:

我想做与Blockwise sum of matrix elements 类似的事情,但使用任意给定的狭缝图案。例如,如果行被拆分为row_split = list(block_1=1, block_2=2:3, block_3=4),列被拆分为col_split = list(block_1=1:3, block_2=4),则输出为2x3 矩阵,其中每个元素都是按块求和。

有什么想法吗?

【问题讨论】:

  • 如果你对矩阵使用不同的左右乘数,你可以做到这一点。
  • 是的。但不确定如何有效地创建这样的矩阵

标签: r matrix vectorization linear-algebra


【解决方案1】:

一个简单的 vapply 语句就可以解决问题:

vapply(row_split,function(x){
    a<-numeric(4)
    a[x]=1
    a
},numeric(4))

结果:

     block_1 block_2 block_3
[1,]       1       0       0
[2,]       0       1       0
[3,]       0       1       0
[4,]       0       0       1

您需要转置其中一个,但它应该可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    相关资源
    最近更新 更多