指数函数的数值计算和

计算科学 数字
2021-12-22 05:39:34

我必须重复计算一个包含大量(~100)指数项之和的函数:

f(x)=r=1100Crebrx

之间没有关系(即类似于 = 2)。CrbrCr+1Cr

有谁知道确定这种指数总和的数值近似值的快速方法?

1个回答

有时,做这种事情的最好方法是相当简单的。如果问题是多次计算这个函数,那么......不要计算它!

基本上,您所要做的就是为一组有限的值编写一个表。如果您要计算,那么您计算,其中 ,越大,你得到的函数的表示就越好。xjf(x)x[a,b]f(xj)xj=a+jΔxΔx=(ba)/NN

您在程序开始时计算此表一次。您还可以将其写入文件并在开始时简单地恢复它。

最后,如果您需要,使用,您将返回由于您的函数是连续的,如果足够小,您将对有一个非常好的近似值。而且您避免计算函数,因为所有都存储在内存中。f(x)xj<x<xj+1f(x)(f(xj)+f(xj+1))/2Δxf(x)f(xj)

这个“技巧”确实节省了大量计算(以将结果存储在内存中为代价),而且在我看来,它并没有得到应有的使用。