Excel 中的公式 - 对数平均值
Formula in Excel - Logarithmic Average
我需要实现这个等式:
在 C# 中非常简单:
static double LogarithmicSummed(IReadOnlyList<double> values)
{
double outVal = 0;
for (int i = 0; i < values.Count; i++)
{
outVal = outVal + Math.Pow(10, values[i] / 10);
}
return 10 * Math.Log10(outVal);
}
我需要验证 excel sheet 中的数据,我在其中以编程方式打印数据。那是原始数据,我对原始数据的 C# 计算以及应该与我的 C# 计算相匹配的 excel 公式。我就是不知道excel.
中的公式怎么写
我知道数据所在的行和列,并且它们彼此相邻。例如,如果我需要算术平均值,即:
我可以打印出每一行:
// If row = 1, startColumn = A, endColumn = D, noOfColumn = 4. This would print: =SUM(A1:D1)/4
mean[row] = @"=SUM(" + startColumn + row + ":" + endColumn + row + ")/" + noOfColumns;
我会打印出什么来匹配我写的第一个公式?或者我需要在Excel中写什么?
如果这就是您输入公式的方式,那为什么不使用总和的字面形式呢?即在列上使用 for
循环并填写:
10*log(10^(A1/10)+10^(A2/10)+10^(A3/10)+10^(A4/10))
没有VBA:
将您的数据放入 A1 到 A10 并在 B1 中输入:
=10^(A1/10)
然后抄下来。然后在另一个单元格中输入:
=10*LOG10(SUM(B1:B10))
您可以使用以下方法避免 "helper" 列 (B 列):
=10*LOG10(SUMPRODUCT(10^((A1:A10)/10)))
我需要实现这个等式:
在 C# 中非常简单:
static double LogarithmicSummed(IReadOnlyList<double> values)
{
double outVal = 0;
for (int i = 0; i < values.Count; i++)
{
outVal = outVal + Math.Pow(10, values[i] / 10);
}
return 10 * Math.Log10(outVal);
}
我需要验证 excel sheet 中的数据,我在其中以编程方式打印数据。那是原始数据,我对原始数据的 C# 计算以及应该与我的 C# 计算相匹配的 excel 公式。我就是不知道excel.
中的公式怎么写我知道数据所在的行和列,并且它们彼此相邻。例如,如果我需要算术平均值,即:
我可以打印出每一行:
// If row = 1, startColumn = A, endColumn = D, noOfColumn = 4. This would print: =SUM(A1:D1)/4
mean[row] = @"=SUM(" + startColumn + row + ":" + endColumn + row + ")/" + noOfColumns;
我会打印出什么来匹配我写的第一个公式?或者我需要在Excel中写什么?
如果这就是您输入公式的方式,那为什么不使用总和的字面形式呢?即在列上使用 for
循环并填写:
10*log(10^(A1/10)+10^(A2/10)+10^(A3/10)+10^(A4/10))
没有VBA:
将您的数据放入 A1 到 A10 并在 B1 中输入:
=10^(A1/10)
然后抄下来。然后在另一个单元格中输入:
=10*LOG10(SUM(B1:B10))
您可以使用以下方法避免 "helper" 列 (B 列):
=10*LOG10(SUMPRODUCT(10^((A1:A10)/10)))