【问题标题】:Find min(x1, x1*x2, x1*x2*x3, ..., x1*x2*...*xN) in Matlab在 Matlab 中求 min(x1, x1*x2, x1*x2*x3, ..., x1*x2*...*xN)
【发布时间】:2015-06-04 04:11:35
【问题描述】:

xi=exprnd(1,M,1), i=1,...,N,是M x 1 大小的列向量。这意味着xij-th 元素是xi(j)>=0

我想获得 Mx1 大小的列向量 X,其中 Xj-th 元素是 X(j)=min[x1(j), x1(j)*x2(j), x1(j)*x2(j)*x3(j), ..., x1(j)*x2(j)*...*xN(j)].

谁能帮助我提供适用于任何MN 的MATLAB 代码?

【问题讨论】:

    标签: arrays matlab min


    【解决方案1】:

    将向量直接构建为 MxN 矩阵的列:

    xi = exprnd(1,M,N);
    

    然后沿着第二维(cumprod)计算累积乘积,然后沿着第二维(min)最小化就可以得到想要的结果:

    result = min(cumprod(xi,2),[],2);
    

    【讨论】:

      猜你喜欢
      • 2018-09-24
      • 2020-01-28
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多