首页 > 解决方案 > matlab中前2个数字的总和

问题描述

我在一个函数中有三个向量,每个向量的大小为 2。我想获得每个索引处前 2 个数字的总和。我的意思是:

A = [4,4];
B = [3,5];
C = [5,6];

Sum = [9,11];

如果可能,我想跳过 if-else 语句。

标签: matlab

解决方案


一个简单的方法是

  • 将行向量连接成一个矩阵:[A; B; C]
  • maxk沿第一个维度应用: maxk(..., 2, 1),其中2是所需的元素数量
  • 然后sum沿第一个维度应用:sum(..., 1.

因此:

result = sum(maxk([A; B; C], 2, 1), 1);

推荐阅读