\begin
\int_^f(x)dx=\frac[f(x_0)+f(x_1)]-\fracf''(\xi)
\end,其中$h=x_1-x_0$,$x_0=a,x_1=b$.且$f(x)$在$(a,b)$二階可導,且在$[a,b]$上一階導函式連續.
證明:這是梯形法則.我們對$f(x)$進行牛頓插值.設立插值點
\begin
x_0,x_1
\end
則牛頓插值多項式為
\begin
f(x_0)+(x-x_0)f[x_0,x_1]
\end
插值餘項是
\begin
(x-x_0)(x-x_1)\frac
\end
即\begin
f(x)=f(x_0)+(x-x_0)f[x_0,x_1]+(x-x_0)(x-x_1) \frac
\end
於是\begin
\int_a^bf(x)dx&=\int_a^b\left(f(x_0)+(x-x_0)f[x_0,x_1]+(x-x_0)(x-x_1)
\frac\right)dx\\
&=hf(x_0)+(\frach^2f[x_0,x_1])+\int_a^b(x-x_0)(x-x_1) \fracdx
\end
\begin
hf(x_0)+\frach^2 \frac=\frach(f(x_1)+f(x_0))
\end
下面我證明
\begin
\int_a^b(x-a)(x-b) \fracdx=-\fracf''(\xi)
\end
易知\begin
\int_a^b(x-a)(x-b)dx&=[\fracb^3-\frac(a+b)b^2+ab^2]-[\fraca^3-\frac(a+b)a^2+a^2b]\\&=(\fracab^2-\fracb^3)-(\fracba^2-\fraca^3)\\&=\fracab(b-a)-\frac(b-a)(b^2+a^2+ab)\\&=\frac(b-a)(3ab-ab-a^2-b^2)\\&=-\frac(b-a)(b-a)^2\\&=-\frach^3
\end
可見梯形法則得證(注意這裡隱含地用到了加權型的積分中值定理).
注1:另一種做法如下:\begin
\int_^f(x)dx=\frac[f(x_0)+f(x_1)]-\fracf''(\xi) \end
其中$h=x_1-x_0,x_0=a,x_1=b$.且$f(x)$在$(a,b)$二階可導,且在$[a,b]$上
一階導函式連續.
前面主體部分是簡單的,關鍵是餘項部分.我們要證明
\begin \int_a^b(x-a)(x-b)
f[x,x_0,x_1]dx=-\fracf''(\xi) \end
令\begin
g(t)=\int_^t(x-a)(x-b)f[x,x_0,x_1]dx
\end
則$g(x_0)=0$,根據微積分第一基本定理,
\begin
g'(x_0)=g'(x_1)=0
\end
我們設立插值點
\begin
x_0,x_0',x_1,x_1'
\end
經過這四個插值點的牛頓插值公式為
\begin
g(x_0)+(x-x_0)g[x_0,x_0']+(x-x_0)(x-x_0')g[x_0,x_0',x_1]+(x-x_0)(x-x_0')(x-x_1)g[x_0,x_0',x_1,x_1']
\end
令\begin
x_0'\to x_0,x_1'\to x_1
\end
可得相應的hermite插值多項式為
\begin
q(x)= g(x_0)+(x-x_0)g[x_0,x_0]+(x-x_0)^2g[x_0,x_0,x_1]+(x-x_0)^2(x-x_1)g[x_0,x_0,x_1,x_1]
\end
令\begin
k(x)=g(x)-q(x)
\end
可得\begin
k'(x_0)=k'(x_1)=k(x_0)=k(x_1)=0
\end
使用若干次rolle定理可得
\begin
k'''(\xi)=0
\end
即\begin
g'''(\xi)=3!g[x_0,x_0,x_1,x_1]
\end
而\begin
g'''(\xi)=f''(\xi)
\end
因此\begin
f''(\xi)=3!\frac
\end,
可見,\begin
f''(\xi)=\frac
\end
可見,\begin
g(x_1)=\fracf''(\xi)
\end
變步長梯形求數值積分
數值積分中,插值求積公式可以近似求積函式。對於插值函式,可以用梯形公式來近似,為了滿足一定的精度,需要將求積區間分成很多個小的區間,分別用於梯形公式,但是由於某些時候步長不能很好的控制,所以需要變步長。本演算法給出變步長求積公式,該演算法的具體形式可以在數值分析的書籍中找到,下面直接給出演算法的c ...
復化梯形求積分例項 用Python進行數值計算
用程式來求積分的方法有很多,這篇文章主要是有關牛頓 科特斯公式。學過插值演算法的同學最容易想到的就是用插值函式代替被積分函式來求積分,但實際上在大部分場景下這是行不通的。插值函式一般是乙個不超過n次的多項式,如果用插值函式來求積分的話,就會引進高次多項式求積分的問題。這樣會將原來的求積分問題帶到另乙...
MATLAB 數值積分函式積分的表示形式
1.採用inline內聯函式 matlab中可以有採用幾種不同的方式來指定被積函式。對於簡單的 長度不超過一行的公式採用inline命令比較方便。例如,可用下面的語句進行計算 f inline 1 sqrt 1 x 4 採用inline內聯函式 f 內聯函式 f x 1 sqrt 1 x 4 q q...