在libre office calc

时间:2018-05-23 14:19:35

标签: libreoffice-calc

我有一个MWE的电子表格:

| a | b | c |

| --- | --- | --- |

| 1 | 3 | 5 |

| 2 | 4 | 6 |

我想要一个新列,我计算所有a_n*exp(-(x-b_n)^2/c_n)的总和,其中x将是另一列中给出的参数,n是行。

我认为这会像=SUM(A2:A3*EXP(-($D3-B2:B3)^2/C2:C3))那样,但这不起作用(此处D列包含x值)

1 个答案:

答案 0 :(得分:1)

它被称为电子表格计算。所以我们应该使用具有多个单元格的工作表。如果我们需要所有值的总和,我们首先计算单个值,然后使用SUM函数对它们求和。

示例:

enter image description here

公式:

D5 = =$A5*EXP(-(D$3-$B5)^2/$C5)向下复制到F12

由于$A5$B5$C5中的行引用是相对的(不使用$注释),因此这些行引用将在向下复制时更新。并且因为D$3中的列引用也是相对的,所以在向侧面复制时将更新此列引用。

D13 = =SUM(D5:D12)已复制到F13的右侧。

只有在数组上下文中使用公式才能实现一体化。函数SUMPRODUCT在数组上下文中获取其所有参数。

D15 = =SUMPRODUCT($A$5:$A$12*EXP(-(D$3-$B$5:$B$12)^2/$C$5:$C$12))

中的公式

另一种可能性是在SUM函数中使用数组上下文:

公式=SUM($A$5:$A$12*EXP(-(D$3-$B$5:$B$12)^2/$C$5:$C$12)) - 结果为#VALUE!。然后点击fx并勾选复选框[x] Array

enter image description here