Sum over function with changing parameters in libre office calc
我有一个MWE的电子表格:
|一个| 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值)
这称为电子表格计算。因此,我们应该使用具有多个单元格的工作表。如果需要所有值的总和,我们首先要计算单个值,然后使用SUM函数对其求和。
示例:
公式:
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:
- 我想提取多个" x"值,所以这就是为什么要使用" SUMPRODUCT"之类的原因。可悲的是,我似乎无法使它起作用。我在使用" *"进行乘法运算时是否犯了错误(您在a和exp之间始终有一个^)
-
@Thorbj?rn E. K. Christensen:已更新为使用多个x。 ^而不是*是因为我首先误读了您的公式。