【问题标题】:Kronecker product with varying dimension in Matlab? [duplicate]Matlab中具有不同尺寸的Kronecker产品? [复制]
【发布时间】:2015-07-08 15:53:30
【问题描述】:

我在 Matlab 中有一个向量 A,维度为 mx1,以递增顺序报告从 1m 的自然整数,例如A=[1 2 3]'

B 为维度为mx1 的向量,报告一些大于或等于零的自然整数,例如B=[1 3 0]'

不使用循环,我想构造一个维度为sum_i(B(i)) 的向量C,通过列出每个A(i)B(i) 次获得。在示例中 C=[1 2 2 2]

【问题讨论】:

标签: matlab


【解决方案1】:

您可以使用arrayfun 完成此操作

A = [1 2 3]';
B = [1 3 0]';
m = 3;
C = cell2mat(arrayfun(@(x) ones(B(x),1)*A(x), 1:m, 'UniformOutput', 0)');

C =

     1
     2
     2
     2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-06
    • 2015-06-23
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多