You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Matlab中获取细胞大小差值最大时的对应组细胞大小?

获取Matlab中最大差值对应的原始数据值

嘿,这个问题其实很好解决——Matlab的max函数不止能返回最大值本身,它还能返回最大值所在的索引位置,用这个索引就能直接定位到你要的G1_Si_size和G1_Aq_size的对应数值啦!

修改后的完整代码

DinoGrowth = xlsread('Dino_growth.xls'); % 导入电子表格数据
G1_Si_size = DinoGrowth(:,4); % Si条件下随时间变化的细胞大小
G1_Aq_size = DinoGrowth(:,8); % Aq条件下随时间变化的细胞大小
G1_size_diff = G1_Aq_size - G1_Si_size; % 计算不同时间点的细胞大小差值

% 使用max函数的双返回值:第一个是最大值,第二个是最大值的索引
[G1_size_diff_max, max_idx] = max(G1_size_diff); 

% 通过索引获取对应时刻的两个条件下的细胞大小
corresponding_Si_size = G1_Si_size(max_idx);
corresponding_Aq_size = G1_Aq_size(max_idx);

% 可以打印结果验证
fprintf('最大差值对应的Si条件细胞大小:%.4f\n', corresponding_Si_size);
fprintf('最大差值对应的Aq条件细胞大小:%.4f\n', corresponding_Aq_size);

关键说明

  • max函数的第二个输出参数max_idx是最大值在G1_size_diff数组中的位置索引(也就是对应的时间点行号)。
  • 直接用这个索引去访问G1_Si_size和G1_Aq_size数组,就能得到该时刻两个条件下的精确细胞大小数值。
  • 如果你的数据中有多个相同的最大值,max函数会返回第一个出现的最大值的索引;如果需要获取所有最大值的对应数据,可以用逻辑索引:all_max_indices = G1_size_diff == G1_size_diff_max;,再用这个逻辑数组去索引原始数据。

内容的提问来源于stack exchange,提问作者Geochemist1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:03:39