前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数值积分|二元函数的高斯积分

数值积分|二元函数的高斯积分

作者头像
fem178
发布2020-05-08 17:13:58
5K2
发布2020-05-08 17:13:58
举报
文章被收录于专栏:数值分析与有限元编程

一元函数高斯积分的积分区域为[-1,1],二元函数的高斯积分区域为

[-1,1] \times [-1,1]

,也就是一个边长为2的正方形区域,称为标准区域。

考虑二重积分

I=\int_{-1}^{1}\int_{-1}^{1}f(\xi, \eta)d\xi d\eta

利用累次积分和一元函数的高斯积分公式可以得到:

I=\int_{-1}^{1} \sum_{i=1}^n W_i f(\xi_i, \eta) d\eta
=\sum_{j=1}^n W_j [\sum_{i=1}^n W_i f(\xi_i, \eta_j)]

或者

I=\sum_{i=1}^n \sum_{j=1}^n W_i W_j f(\xi_i, \eta_j)

这就是二元函数的高斯积分公式。其中W表示积分点权重,n表示积分点数目。n随着被积函数阶次增加而增加。

实际应用中,积分区域大多是非标准区域。比如

这时就需要将非标准区域映射到标准区域,即 x = x(ξ, η), y = y(ξ, η)

x(\xi, \eta)=\sum_{k=1}^4 N_k(\xi, \eta)x_k
y(\xi, \eta)=\sum_{k=1}^4 N_k(\xi, \eta)y_k

其中

(x_k,y_k)

是是xOy坐标系下四个顶点的坐标。

N_k(k=1,2,3,4)

叫做形函数。

N_1(\xi, \eta)=\frac{1}{4}(1-\xi)(1-\eta)
N_2(\xi, \eta)=\frac{1}{4}(1+\xi)(1-\eta)
N_3(\xi, \eta)=\frac{1}{4}(1+\xi)(1+\eta)
N_4(\xi, \eta)=\frac{1}{4}(1-\xi)(1+\eta)

xOy坐标系下一个无限小矩形区域面积

dA = dx dy

,而在坐标系

\xi \eta

下的面积

dA_1 = d\xi d\eta
dxdy=|J(\xi, \eta)|d\xi d\eta

可以得到

\iint_{A}f(x, y)dx dy=\int_{-1}^{1}\int_{-1}^{1}f[x(\xi, \eta),y(\xi, \eta)]|J(\xi, \eta)|d\xi d\eta
=\sum_{i=1}^n \sum_{j=1}^n W_i W_j f[x(\xi_i, \eta_j),y(\xi_i, \eta_j)]|J(\xi_i, \eta_j)|

这里

J(\xi, \eta)= \left[ \begin{matrix} \frac{\partial x}{\partial \xi} & \frac{\partial y}{\partial \xi} \\ \frac{\partial x}{\partial \eta} & \frac{\partial y}{\partial \eta} \end{matrix} \right]

是雅可比矩阵。

dxdy=|J(\xi, \eta)|d\xi d\eta

的证明见高数教材。

[算例]

利用高斯公式计算二重积分

\iint_{A}(x^2+y)dx dy

其中0<x<2,0<y<1/2x+2

四个顶点的坐标分别为(0,0),(2,0),(2,3),(0,2)

\begin{equation}\begin{split} x(\xi, \eta)&=\sum_{k=1}^4 N_k(\xi, \eta)x_k \\ &=0+\frac{(1+\xi)(1-\eta)}{4}\times2+\frac{(1+\xi)(1+\eta)}{4}\times2+0\\ & =1+\xi \end{split}\end{equation}
\begin{equation}\begin{split} y(\xi, \eta)&=\sum_{k=1}^4 N_k(\xi, \eta)y_k\\ &=0+0+\frac{(1+\xi)(1+\eta)}{4}\times3+\frac{(1-\xi)(1+\eta)}{4}\times2\\& =\frac{(5+\xi)(1+\eta)}{4} \end{split}\end{equation}

雅可比矩阵

J(\xi, \eta)= \left[ \begin{matrix} 1 & \frac{1+\eta}{4} \\ 0 & \frac{5+\xi}{4} \end{matrix} \right]
|J(\xi, \eta)|=\frac{5+\xi}{4}

采用4个积分点的高斯积分

\begin{equation}\begin{split} I&=\sum_{i=1}^n \sum_{j=1}^n W_i W_j f[x(\xi_i, \eta_j),y(\xi_i, \eta_j)]|J(\xi_i, \eta_j)| \\ &=\sum_{i=1}^2 \sum_{j=1}^2 [(\frac{1+\xi_i}{2})^2+\frac{(5+\xi_i)(1+\eta_j)}{4}](\frac{5+\xi_i}{4})\\ & =\frac{1}{16}(6+3\xi_i+\xi_i^2+5\eta_j+\xi_i\eta_j)(5+\xi_i) \end{split}\end{equation}

注意这里的

\xi_i,\eta_j

是高斯积分点的坐标,

W_i=W_j=1

。接下来用Python编程可得到结果。毕竟数值计算都要编程的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数值分析与有限元编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档