简述有限元: 逼近函数 III前情回顾
引子
我们用两次推送, 讨论了用最小二乘法和伽辽金法逼近函数, 二者出发点不同, 但最终都是化无限维为有限维问题来求解, 即将寻找最优逼近函数问题化为解线性方程组.
复盘
逼近函数问题:
对于任意函数 f(x), 设法在函数空间 V=span{ψ0(x),…,ψN(x)} 中找到最佳逼近函数 u(x).
无论是最小二乘法, 还是伽辽金法, 在面对逼近函数的问题时, 与逼近向量时的想法一样: 设法使的 u(x) 和 f(x) 之间的"距离"最小.
用数学语言就是: ∥u−f∥ 在某种范数下最小.
∥u−f∥=(u−f,u−f).\labeleq:eq1∥u−f∥=∫Ω(u−f)2dx.\labeleq:eq2确定"距离"这一重要概念后, 就是常规的数学操作了. u(x) 可以写成基函数的线性组合,
u(x)=c0ψ0(x)+⋯+cNψN(x).\labeleq:eq3将式 (\ref{eq:eq3}) 分别代入式 (\ref{eq:eq1})((\ref{eq:eq2})), 再分别利用分析手段(求导)和"正交性"就可以得到逼近向量(函数)的最小二乘法和伽辽金法.
简述有限元: 理解正交性小结
结合第一期推送, 可以得到: 在逼近向量和逼近函数问题时, 最小二乘法和伽辽金法是等同的.
熟悉的插值法
The interpolation method
综述
插值法是数值分析课中必讲的内容, 出现在最小二乘法之前的方法, 基本而且重要. 下面来回顾总结一下插值法:
插值法的出发点与最小二乘法和伽辽金法都不同, 它要求逼近函数 u(x) 在有限个点上与原函数 f(x) 相同, 即
u(xi)=j∈Is∑cjψj(xi)=f(xi),i∈Is.这样, 自然也形成了一个有 N+1 个未知量 cj 的线性方程组
\begin{equation}
\sum*{j \in \mathcal{I}{s}} A{i, j} c*{j}=b*{i}, \quad i \in \mathcal{I}*{s}.
\label{eq:eq4}
\end{equation}
其中
Aijbi=ψj(xi),=f(xi).与之前方法不同的是, 系数矩阵 A 不再对称, 因为 ψj(xi)=ψi(xj).
两个例题
例题 1:
来于线性代数, 平面上有 n+1 个点(两两不同), 问: 是否存在一个 n 次多项式函数, 过这 n+1 个点? 若存在, 请给出.
解: 存在. 设 n 次多项式函数为
f(x)=anxn+⋯+a1x+a0.将 n+1 个点的坐标 (xj,yj) 依次代入上式, 得
⎩⎨⎧anxnn+⋯+a1xn+a0=yn,anxn−1n+⋯+a1xn−1+a0=yn−1,⋮anx0n+⋯+a1x0+a0=y0.xnnxn−1nx0n⋯⋯⋮⋯xnxn−1x0111an⋮a1a0=ynyn−1⋮y0.系数矩阵非奇异(系数矩阵是范德蒙行列式), 所以线性方程组有解. 即存在一个 n 次多项式函数, 过这 n+1 个点.
例题 2
设函数 f(x)=10(x−1)2−1, 在线性函数空间中找到最佳逼近函数 u(x), 求解域 Ω=[1,2], 两个真解点为: x0=1+31,x1=1+32.
解: 已知 ψ0=1,ψ1=x, 因此利用式 (\ref{eq:eq4}), 得
A=113435,b=91931.解得
c=−911910.所以,
u(x)=−9119+10x.
简述有限元: 线性插值拉格朗日多项式
Lagrange polynomials
上一次推送中, 讨论了基函数正交(傅立叶级数做基函数)的好处, 在插值法中, 拉格朗日插值多项式可以起到相同的作用
ψi(x)=j=0,j=i∏Nxi−xjx−xj=xi−x0x−x0⋯xi−xi−1x−xi−1xi−xi+1x−xi+1⋯xi−xNx−xN,for i∈Is.观察上式可知, 每一个 ψi(x) 都是一个 N 次多项式, 而且满足
ψi(xs)=δis,δis=⎩⎨⎧1,0,i=si=s其中, xs 是插值点. 由以上性质可得
Aij=⎩⎨⎧0for i=j,1for i=j.所以, 线性方程组求解变得相当简单
ci=f(xi),i∈Is.进一步地,
u(x)=j∈Is∑f(xi)ψi(x).
简述有限元: 两个节点
简述有限元: 三个节点
简述有限元: 四个节点
拉格朗日多项式在有限元方法中依旧很重要.
编程实例
利用拉格朗日多项式做基函数编程实现例题 2.
假设 f(x)=sin(2πx),Ω=[0,1], 利用拉格朗日多项式做基函数, 分别用最小二乘法和插值法寻找最佳逼近函数 u(x).
注: 可假设基函数个数为 3 个, 拉格朗日点为等距节点
下节预告
开始讨论有限元 🤘