快捷搜索:  汽车  科技

javascript计算列表元素的个数(简单求积分的方法)

javascript计算列表元素的个数(简单求积分的方法)sigma notation数学上的求和公式为:function sum_cubes(a b) { return a > b ? 0 : cube(a) sum_cubes(a 1 b); }求下面的序列之和:求pi的序列function pi_sum(a b) { return a > b ? 0 : 1 / (a * (a 2)) pi_sum(a 4 b); }该值收敛于pi/8.

我们的最终目标是求下面的积分算式:

javascript计算列表元素的个数(简单求积分的方法)(1)

integral-function

1.先看求和的方法:

求整数数列的和:

function sum_integers(a b) { return a > b ? 0 : a sum_integers(a 1 b); }

求立方和:

function sum_cubes(a b) { return a > b ? 0 : cube(a) sum_cubes(a 1 b); }

求下面的序列之和:

javascript计算列表元素的个数(简单求积分的方法)(2)

求pi的序列

function pi_sum(a b) { return a > b ? 0 : 1 / (a * (a 2)) pi_sum(a 4 b); }

该值收敛于pi/8.

2.提取抽象部分

数学上的求和公式为:

javascript计算列表元素的个数(简单求积分的方法)(3)

sigma notation

抽象到数学方程为:

function sum(term a next b) { return a > b ? 0 : term(a) sum(term next(a) next b); }

应用上面的公式重新计算立方和:

function inc(n) { return n 1; } function sum_cubes(a b) { return sum(cube a inc b); }

求整数之和:

function identity(x) { return x; } function sum_integers(a b) { return sum(identity a inc b); }

最后是pi值的求和:

function pi_sum(a b) { function pi_term(x) { return 1 / (x * (x 2)); } function pi_next(x) { return x 4; } return sum(pi_term a pi_next b); }3.求积分

积分公式为:

javascript计算列表元素的个数(简单求积分的方法)(4)

积分公式

方程为:

function integral(f a b dx) { function add_dx(x) { return x dx; } return sum(f a dx/2 add_dx b) * dx; } integral(cube 0 1 0.01);

如此便能应用简单的抽象解决问题。

猜您喜欢: