题目
I ( b ) = ∫ 0 π / 2 1 + ( b 2 − 1 ) cos 2 t d t I(b)= \int _{0}^{\pi /2}\sqrt{1+(b^{2}-1)\cos ^{2}t}dt I(b)=∫0π/21+(b2−1)cos2tdt
上述函数的导数为
I ′ ( b ) = ∫ 0 π / 2 b cos 2 t 1 + ( b 2 − 1 ) cos 2 t d t I^{\prime}(b)= \int _{0}^{\pi /2}\frac{b \cos ^{2}t}{\sqrt{1+(b^{2}-1)\cos ^{2}t}}dt I′(b)=∫0π/21+(b2−1)cos2tbcos2tdt
采用三种方法中最好的方法计算这一积分
(1)利用数值积分的方法给出 I ( b ) I ( b ) I(b) 在 b = 0 , 0.1 , 0.2 , … , 1 b = 0 , 0.1 , 0.2 , \dots , 1 b=0,0.1,0.2,…,1 (可以直接计算精确值的,用精确值),用Newton插值方法得到5个椭圆的周长(五个椭圆具体见上一篇图片文件的初步处理与椭圆的最小二乘拟合)。
(2)利用数值积分的方法给出 I ′ ( b ) I^{\prime} ( b ) I′(b), 在 b = 0 , 0.1 , 0.2 , … , 1 b = 0 , 0.1 , 0.2 , \dots , 1 b=0,0.1,0.2,…,1 (可以直接计算精确值的,用精确值),用Hermite插值方法得到5个椭圆的周长。
算法介绍
Netown插值
根据均差的定义,把 x x x看成 [ a , b ] [a,b] [a,b]上的一点,可以得到
f ( x ) = f ( x 0 ) + f [ x , x 0 ] ( x − x 0 ) f(x)=f(x_{0})+f \left[ x,x_{0}\right](x-x_{0}) f(x)=f(x0)+f[x,x0](x−x0)
f ( x , x 0 ) = f ( x 0 , x 1 ) + f [ x , x 0 , x 1 ] ( x − x 1 ) f ( x , x _ { 0 } ) = f ( x _ { 0 } , x _ { 1 } ) + f [ x , x _ { 0 } , x _ { 1 } ] ( x - x _ { 1 } ) f(x,x