有限差分法的Matlab程序(椭圆型方程)说课讲解.pdf
《有限差分法的Matlab程序(椭圆型方程)说课讲解.pdf》由会员分享,可在线阅读,更多相关《有限差分法的Matlab程序(椭圆型方程)说课讲解.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 有限差分法的 Matlab程序(椭圆型方程)精品文档 收集于网络,如有侵权请联系管理员删除 有限差分法的 Matlab 程序(椭圆型方程)function FD_PDE(fun,gun,a,b,c,d)%用有限差分法求解矩形域上的 Poisson 方程 tol=10(-6);%误差界 N=1000;%最大迭代次数 n=20;%x轴方向的网格数 m=20;%y轴方向的网格数 h=(b-a)/n;%x轴方向的步长 l=(d-c)/m;%y轴方向的步长 for i=1:n-1 x(i)=a+i*h;end%定义网格点坐标 for j=1:m-1 y(j)=c+j*l;end%定义网格点坐标 u=z
2、eros(n-1,m-1);%对 u赋初值%下面定义几个参数 r=h2/l2;s=2*(1+r);k=1;%应用 Gauss-Seidel 法求解差分方程 while knorm;norm=abs(u(i,m-1)-z);end u(i,m-1)=z;end%对右上角的网格点进行处理 z=(-h2*fun(x(n-1),y(m-1)+gun(b,y(m-1)+r*gun(x(n-1),d)+r*u(n-1,m-2)+u(n-2,m-1)/s;if abs(u(n-1,m-1)-z)norm norm=abs(u(n-1,m-1)-z);end u(n-1,m-1)=z;%对不靠近上下边界的网格
3、点进行处理 for j=m-2:-1:2%对靠近左边界的网格点进行处理 z=(-h2*fun(x(1),y(j)+gun(a,y(j)+r*u(1,j+1)+r*u(1,j-1)+u(2,j)/s;if abs(u(1,j)-z)norm norm=abs(u(1,j)-z);end u(1,j)=z;%对不靠近左右边界的网格点进行处理 for i=2:n-2 z=(-h2*fun(x(i),y(j)+u(i-1,j)+r*u(i,j+1)+r*u(i,j-1)+u(i+1,j)/s;if abs(u(i,j)-z)norm norm=abs(u(i,j)-z);end u(i,j)=z;en
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 有限 差分法 Matlab 程序 椭圆 方程 讲解
限制150内