gpt4 book ai didi

arrays - 汇总行值的所有排列

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:14:20 24 4
gpt4 key购买 nike

我在 MATLAB 中遇到问题,我认为这可以很好地解决,例如使用递归。我只是想知道是否有使用一些内置函数的更优雅(可能是矢量化)的解决方案。

问题来了:

给定一个 (n x 2) 矩阵。找到所有可能的总和,其中总和中每一行恰好有一个值。

示例 1:

A = [a b; 
c d]; % I use variable names/symbolic values to make it clearar

结果 2:

result = [a+c; a+d; b+c; b+d];

示例 2:

A = [a b;
c d;
e f];

result = [a+c+e; a+c+f; a+d+e; a+d+f; b+c+e; b+c+f; b+d+e; b+d+f];

我希望我的问题很清楚 :)谢谢

最佳答案

[m n] = size(A);
cols = dec2base(0:n^m-1,n)+1 - '0'; %// all combinations of cols
ind = bsxfun(@plus, 1:m, (cols-1)*m).'; %'// convert into linear index
result = sum(A(ind));

关于arrays - 汇总行值的所有排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24033147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com