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

如何在Matlab中计算连续负数区间和的最大值

问题需求

我有一个12行50列的数据矩阵。以第一列(记为z)为例,数值分布如下:

  • 前两行数值为负
  • 后续4个数值为正
  • 第7行数值为负
  • 再往后2个数值为正
  • 最后3行数值为负

需要完成以下计算:

  1. 计算前两行连续负数的和
  2. 计算第7行的和(单个数值的和即其本身)
  3. 计算最后三行连续负数的和
  4. 取上述三个和中的最大值作为最终输出
示例代码与计算过程
% 第一列z的数值
z = [-1.24; -2.36; 1.24; 2.14; 3.14; 1.08; -1.12; 3.56; 4.89; -1.12; -2.74; -3.45];

% 计算三个目标和
sum1 = z(1) + z(2);       % 前两行和:-1.24 + (-2.36) = -3.6
sum2 = z(7);              % 第7行和:-1.12
sum3 = z(10) + z(11) + z(12);  % 最后三行和:-1.12 + (-2.74) + (-3.45) = -7.31

% 存储三个和并取最大值
M = [sum1; sum2; sum3];
result = max(M);
% 输出结果:-7.31

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:03:12