如何使用 MATLAB 查找从 Excel 导入的列的最小值



我在以下模式中有一组值。

A   B   C   D
1   5   6   11
2   6   5   21
3   7   3   42
4   3   7   22
1   2   3   54
2   3   2   43
3   4   3   27
4   3   2   14

我将每一列导出到 MATLAB 工作区中,如下所示。

A = xlsread('F:R.xlsx','Complete Data','A2:A43'); 
B = xlsread('F:R.xlsx','Complete Data','B2:B43'); 
C = xlsread('F:R.xlsx','Complete Data','C2:C43'); 
D = xlsread('F:R.xlsx','Complete Data','D2:D43'); 

我需要代码方面的帮助,它必须检查 A 列,找到最低的 D 值并输出相应的 B 和 C 值。我需要输出看起来像。

1   5   6   11
2   6   5   21
3   4   3   27
4   3   2   14

我通读了相关问题并理解我需要将其制作为矩阵并根据第 4 列中的元素对其进行排序

排序行

并获取排序元素的索引。但我被困在这里。请指导我。

  1. 您可以将这些列一次性导出为:

    ABCD = xlsread('F:R.xlsx','Complete Data','A2:D43');
    
  2. 现在使用sortrows根据第一列和第四列对行进行排序。

    req = sortrows(ABCD, [1 4]);
    
  3. ☆如果第一列的所有元素都存在两次,则:

    req = req(1:2:end,:);  
    

    ☆如果第一列的所有元素都不必存在两次,那么:

    [~, ind] = unique(req(:,1));
    req =  req(ind,:);
    

最新更新