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

储罐质量时序加权平均计算的向量化优化需求

储罐质量属性计算的向量化优化

需求说明

计算储罐随时间变化的质量属性,该值为上期质量(以上期末库存体积$v_{n-1}$为权重)与本期进料质量(以进料量$vinc_{n}$为权重)的加权平均,公式为:

qₙ = (qₙ₋₁ × vₙ₋₁ + qincₙ × vincₙ) / (vₙ₋₁ + vincₙ)

参数定义:

  • $qₙ$:第n时段的质量
  • $vₙ₋₁$:上一时期结转库存体积
  • $vincₙ$:本期进料量
  • $qincₙ$:本期进料质量

现有实现(低效顺序算法)

import numpy as np

q = np.empty_like(qinc)
q.fill(np.nan)
if v[0] > 0:
    q[0] = qinc[0]
for i in range(1, len(qinc)):
    v_prev = v[i-1]
    q_prev = np.nan
    if v_prev > 0:
        q_prev = q[i-1]
    q_curr = qinc[i]
    v_curr = vinc[i]
    if v[i] > 0:
        q[i] = (np.nan_to_num(q_prev * v_prev) + np.nan_to_num(q_curr * v_curr)) / (v_prev + v_curr)

示例输入

qinc = np.asarray([0.5, 2.0, np.nan, 4, 8])
vinc = np.asarray([100, 200, 0, 300, 50])
v = np.asarray([0, 10, 100, 400, 200])

预期输出

q == [nan, 2., 2., 3.5, 4.]

我尝试用累积求和实现向量化但未成功,希望得到优化该算法的提示。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 02:12:12