选择具有最大和Matlab的向量

时间:2014-12-01 19:09:21

标签: matlab vector sum

我正在寻找一种方法来选择总和最大的矢量。有一个简单的方法吗?我在考虑编写循环,但我不确定如何循环遍历一组向量。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

对于向量具有相同长度的情况(如注释中所述),我认为一种简单的无循环方式是从每个向量构建矩阵并直接获取行(或列)最大的总和:

clear
clc

RandMat = rand(8,10);

[~,Ind] = max(sum(RandMat,2)); %// Get row index for largest sum. If you want the column, use 1 instead.
MaxRow = RandMat(Ind,:); %// Index in original matrix to get the vector. If you want the column, use RandMat(:,Ind);

如果矢量的长度不同,那么你需要用NaN填充缺失值,例如使用常规矩阵,否则你需要一个单元格数组。

如果您更喜欢不需要构建矩阵的解决方案,那么您可以遍历每个单独的向量并将总和存储在变量中,然后比较末尾的总和。如果您想要这样的解决方案,请询问!