首页 > 解决方案 > 在Matlab中查找跨行的最小值并计算每列的最小值总数

问题描述

我需要首先在 Column_A、Column_B 和 Column_C 中找到每一行的最小值,然后获取在 Matlab 中的每一列下找到的最小值的总数。例如,表格如下:

Column_A = [1.5;200;300;-1.5;49];
Column_B = [100.5;2;1;0;1];
Column_C= [1.25;500;3;0.01;200];
T = table(Column_A,Column_B,Column_C)

Column_A、Column_B 和 Column_C 下每行中具有最小值的表 (T) 以橙色突出显示:

在此处输入图像描述

我希望创建以下输出,它显示 Column_A、Column_B 和 Column_C 下最小值的总数:

在此处输入图像描述

标签: matlab

解决方案


Column_A = [1.5; 200; 300; -1.5; 49];
Column_B = [100.5; 2; 1; 0; 1];
Column_C = [1.25; 500; 3; 0.01; 200];

% create matrix
M = [Column_A, Column_B, Column_C];

% find min in each row
min_values = min(M, [], 2) == M;
count_T = sum(min_values);

% create table
Columns = ['Column_A'; 'Column_B'; 'Column_C'];
T = table(Columns, count_T');
T.Properties.VariableNames([2]) = {'Minimum Count'};
disp(T)

推荐阅读