一些积分方程处理
1 积分函数
对于如下积分函数
(1-1)
$$
\int_a^bf(x)dx
$$
可以使用数值积分进行近似,这里给出三点高斯积分公式
(1-2)
$$
\begin{cases}
h&=\dfrac{b-a}{2}
\\
\\
\int_a^bf(x)dx &\approx h[\dfrac{5}{9}f(a+(1-\sqrt{\dfrac{3}{5}})h)+\dfrac{8}{9}f(a+h)+\dfrac{5}{9}f(a+(1+\sqrt{\dfrac{3}{5}})h)]
\end{cases}
$$
下面是一些积分节点正好在等距节点上的积分公式(辛普森、牛顿科茨)
(1-3)
$$
\begin{aligned}
f_i&=f(a+ih)
\\
\\
&\begin{cases}
h&=\dfrac{b-a}{3}
\\
\\
\int_a^bf(x)dx &\approx \dfrac{3}{8}h(f_0+3f_1+3f_2+f_3)
\end{cases}
\\
\\
&\begin{cases}
h&=\dfrac{b-a}{4}
\\
\\
\int_a^bf(x)dx &\approx \dfrac{2}{45}h(7f_0+32f_1+12f_2+32f_3+7f_4)
\end{cases}
\\
\\
&\begin{cases}
h&=\dfrac{b-a}{5}
\\
\\
\int_a^bf(x)dx &\approx \dfrac{5}{288}h(19f_0+75f_1+50f_2+50f_3+75f_4+19f_5)
\end{cases}
\\
\\
&\begin{cases}
h&=\dfrac{b-a}{6}
\\
\\
\int_a^bf(x)dx &\approx \dfrac{1}{140}h(41f_0+216f_1+27f_2+272f_3+27f_4+216f_5+41f_6)
\end{cases}
\end{aligned}
$$
2 第二类Fredholm线性积分函数求解
第二类Fredholm线性积分函数为如下形式
(2-1)
$$
y(x)=f(x)+\int_a^bg(x,t)y(t)dt
$$
公式里\(f(x),g(x,t)\)为已知函数,现在需要数值求解\(y(x)\)。
由于表达式里含有积分函数,这里将(2-1)里的积分区间复化成\(n\)个份,结合(1-2)积分公式有
(2-2)
$$
\begin{aligned}
y(x)&=f(x)+\int_a^bg(x,t)y(t)dt
\\
&=f(x)+\sum_{i=1}^n\int_{a+(i-1)h}^{a+ih}g(x,t)y(t)dt
\\
&\approx f(x) +\dfrac{h}{2}\sum_{i=1}^n[\dfrac{5}{9}g(x,x_{ai})y_{ai}+\dfrac{8}{9}g(x,x_{bi})y_{bi}+\dfrac{5}{9}g(x,x_{ci})y_{ci}]
\end{aligned}
$$
上面公式里参数如下
(2-3)
$$
\begin{cases}
h &=\dfrac{b-a}{n}
\\
x_{ai} &=a+(i-0.5)h-\sqrt{0.15}h
\\
x_{bi} &=a+(i-0.5)h
\\
x_{ci} &=a+(i-0.5)h+\sqrt{0.15}h
\\
y_{ai} &=y(x_{ai})
\\
y_{bi} &=y(x_{bi})
\\
y_{ci} &=y(x_{ci})
\end{cases}
$$
在公式(2-3)里只要知道\(y_{ai},y_{bi},y_{ci}\),则最终的\(y(x)\)函数将已知。因此直接将\(x=x_{ai},x_{bi},x_{ci}\)时的值代入(1-3)将求解得到系数\(y_{ai},y_{bi},y_{ci}\)。
注意,在实际求解时\(h\)的大小将影响计算精度与效率,因此实际求解时,可以变动\(n\)大小,以自适应方式求得最佳\(h\).
3 第二类线性Volterra积分函数
第二类线性Volterra积分函数形式如下
(3-1)
$$
y(x)=f(x)+\int_a^xg(x,t)y(t)dt
$$
公式里\(f(x),g(x,t)\)为已知函数,现在需要数值求解\(y(x)\)。如果将积分区间划分为\(n\)份,并设置如下变量
(3-2)
$$
\begin{cases}
h&=\dfrac{x-a}{n}
\\
x_i&=a+ih
\\
f_i&=f(x_i)
\\
y_i&=y(x_i)
\\
g_{i,j} &=g(x_i,x_j)
\end{cases}
$$
结合公式(1-3),则可以动态计算\(y_i,y_{i+1},y_{i+2},…\)。但在实际使用(1-3)公式启动处理时,还需要知道\(y_1,y_2\),这里直接使用Day方法计算\(y_1,y_2,y_3\)
(3-3)
$$
\begin{cases}
s_1 &=f_1+hf_0g_{1,0}
\\
\\
s_2&=f_1+\dfrac{1}{2}h(f_0g_{1,0}+s_1g_{1,1})
\\
\\
s_3&=f(a+\dfrac{1}{2}h)+\dfrac{1}{4}h[f_0g(a+\dfrac{1}{2}h,a)+\dfrac{1}{2}g(a+\dfrac{1}{2}h,a+\dfrac{1}{2}h)(f_0+s_2)]
\\
\\
y_1 &=f_1+\dfrac{1}{6}h[f_0g_{1,0}+4s_3g(a+\dfrac{1}{2}h,a+\dfrac{1}{2}h)+s_2g_{1,1}]
\\
\\
y_2&=f_2+\dfrac{1}{3}h[f_0g_{2,0}+y_1g_{2,1}(4+2hg_{2,2})+f_2g_{2,2}]
\\
\\
y_3&=f_3+\dfrac{3}{8}h[f_0g_{3,0}+3y_1g_{3,1}(1+\dfrac{1}{2}hg_{3,3})+3y_2g_{3,2}(1+\dfrac{1}{2}hg_{3,3})+f_3g_{3,3}]
\end{cases}
$$
因此最终结合(1-3)、(3-2)、(3-3)即可动态求解(3-1)。这里需要注意,求解时要求 \(n \geq 3\).
4 工具使用
上面两类积分方程求解函数已经内置到MathSword软件, 直接使用 IntegralEquFredholm2、IntegralEquVolterra2 求解对应方程。