在Matlab中找到min(x1,x1*x2,x1*x2*x3,...,x1*x2*...*xN)

Fre*_*rey 2 arrays matlab min

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

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

谁能帮我用MATLAB代码,适用于任何MN

Lui*_*ndo 5

直接将矢量构建为M x N矩阵的列:

xi = exprnd(1,M,N);
Run Code Online (Sandbox Code Playgroud)

然后,可以获得所需的结果,计算沿第二维(cumprod)的累积乘积,然后沿第二维(min)最小化:

result = min(cumprod(xi,2),[],2);
Run Code Online (Sandbox Code Playgroud)