Matlab查找矩阵中前两列相同数据的行并计算平均值

假设我们有一个3行10列的矩阵,需要查找前两列数据相同的行,并计算这些行的平均值。以下Matlab代码可以实现此功能:

% 创建一个3行10列的矩阵
A = [1 2 3 4 5 6 7 8 9 10;
     2 3 4 5 6 7 8 9 10 11;
     3 4 5 6 7 8 9 10 11 12];

% 查找前两列数据相同的行
[row, ~] = find(A(:,1:end-1) == A(:,2:end));

% 计算这几行的平均值
avg = mean(A(row,:));

代码解释:

  1. 创建矩阵: 首先,我们创建一个名为A的3行10列的示例矩阵。
  2. 查找相同数据的行: 使用find函数查找矩阵A中前两列数据相同的行。A(:,1:end-1)选取除最后一列以外的所有列,A(:,2:end)选取除第一列以外的所有列,两者进行比较。find函数返回满足条件的元素的索引,存储在row变量中。
  3. 计算平均值: 使用mean函数计算A矩阵中由row变量指定的行的平均值,并将结果存储在avg变量中。

这段代码可以帮助你快速找到矩阵中符合特定条件的行,并进行计算。你可以根据自己的需求修改代码中的矩阵和条件。


原文地址: https://www.cveoy.top/t/topic/fLKQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录