algorithm - VBA 中的双重求和

标签 algorithm vba sum

我正在尝试在 VBA 中实现以下算法:

请参阅链接:VT-Micro Algorithm

这是我的代码:

s = 7.2
a_inkmhs = 7.2
Total_Fuel = 0
If a_inkmhs >= 0 Then
For i = 0 To 3
    For j = 0 To 3
        Cl = P_coeff(i, j)
        Fuel = Exp(Cl * (s ^ i) * (a_inkmhs ^ j))
     Next j
     Total_Fuel = Total_Fuel + Fuel
Next i
Else
 For i = 0 To 3
    For j = 0 To 3
        ML = N_coeff(i, j)
        Fuel = Exp(ML * (s ^ i) * (a_inkmhs ^ j))
     Next j
     Total_Fuel = Total_Fuel + Fuel
Next i
End If

预期输出: 0.002338176 我越来越 : 3.999006792

问题: 我的实现可能有什么问题。

最佳答案

请注意,您计算的是指数之和,而不是和的指数。此外,更新 Total_Fuel = Total_Fuel + Fuel 应该在内部 for 循环内,否则您将无法正确计算双倍和。正如@VincentG 提到的那样,您的 If 应该测试 a_inkmhs 而不是 a (或者您可以将 a_inkmhs 重命名为 a) 并且在求和期间 a_inkmhs 应该提高到 j 的幂而不是 i ,即 a_inkmhs^j。代码应该是:

s = 7.2
a_inkmhs = 7.2
Total_Fuel = 0
If a_inkmhs >= 0 Then
For i = 0 To 3
    For j = 0 To 3
        Cl = P_coeff(i, j)
        Fuel = Cl * (s ^ i) * (a_inkmhs ^ j)
        Total_Fuel = Total_Fuel + Fuel
     Next j
Next i
Else
 For i = 0 To 3
    For j = 0 To 3
        ML = N_coeff(i, j)
        Fuel = ML * (s ^ i) * (a_inkmhs ^ j)
        Total_Fuel = Total_Fuel + Fuel
     Next j
Next i
End If
Total_Fuel = Exp(Total_Fuel)

关于algorithm - VBA 中的双重求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32964470/

相关文章:

c# - 在 C# 中验证增值税号

algorithm - 在词典中查找最接近一对的字符串

excel - 如何更改 Powerpoint 形状的图像?

mysql - MySQL 中求和的平均值

c# - 如何将 LINQ 查询与不同的 where 条件结合起来

algorithm - 算法简介第 3 版,练习 4.3-6

vba - VB6如何知道锁定的文件进程

VB/VBA 中的 XML 反序列化

SQL(sqlite)比较由另一个重复行分组的行的总和

algorithm - 坚持使用 O 符号