![1有限差分法的Matlab程序[1].doc_第1页](http://file.renrendoc.com/FileRoot1/2020-1/19/ac26f0bf-2d9f-414d-ab5c-2be38f1c8259/ac26f0bf-2d9f-414d-ab5c-2be38f1c82591.gif)
![1有限差分法的Matlab程序[1].doc_第2页](http://file.renrendoc.com/FileRoot1/2020-1/19/ac26f0bf-2d9f-414d-ab5c-2be38f1c8259/ac26f0bf-2d9f-414d-ab5c-2be38f1c82592.gif)
![1有限差分法的Matlab程序[1].doc_第3页](http://file.renrendoc.com/FileRoot1/2020-1/19/ac26f0bf-2d9f-414d-ab5c-2be38f1c8259/ac26f0bf-2d9f-414d-ab5c-2be38f1c82593.gif)
全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
有限差分法的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=zeros(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; % 对不靠近上下边界的网格点进行处理 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; end % 对靠近右边界的网格点进行处理 z=(-h2*fun(x(n-1),y(j)+gun(b,y(j)+r*u(n-1,j+1)+r*u(n-1,j-1)+u(n-2,j)/s; if abs(u(n-1,j)-z)norm norm=abs(u(n-1,j)-z); end u(n-1,j)=z; end % 对靠近下边界的网格点进行处理 % 对左下角的网格点进行处理 z=(-h2*fun(x(1),y(1)+gun(a,y(1)+r*gun(x(1),c)+r*u(1,2)+u(2,1)/s; if abs(u(1,1)-z)norm norm=abs(u(1,1)-z); end u(1,1)=z; % 对靠近下边界的除第一点和最后点外网格点进行处理 for i=2:n-2 z=(-h2*fun(x(i),y(1)+r*gun(x(i),c)+r*u(i,2)+u(i+1,1)+u(i-1,1)/s; if abs(u(i,1)-z)norm norm=abs(u(i,1)-z); end u(i,1)=z; end % 对右下角的网格点进行处理 z=(-h2*fun(x(n-1),y(1)+gun(b,y(1)+r*gun(x(n-1),c)+r*u(n-1,2)+u(n-2,1)/s; if abs(u(n-1,1)-z)norm norm=abs(u(n-1,1)-z); end u(n-1,1)=z; % 结果输出 if norm=tol fid = fopen(FDresult.txt, wt); fprintf(fid,n*用有限差分法求解矩形域上Poisson方程的输出结果*nn); fprintf(fid,迭代次数: %d次nn,k); fprintf(fid, x的值 y的值 u的值 u的真实值 |u-u(x,y)|n); for i=1:n-1 for j=1:m-1 fprintf(fid, %8.3f %8.3f %14.8f %14.8f %14.8fn, x(i),y(j),u(i,j),gun(x(i),y(j),abs(u(i,j)-gun(x(i),y(j); end end fclose(fid); break; % 用来结束while循环 end
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建泉州市洛江区总商会招聘编外工作人员1人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025广东省事业单位集中招聘高校毕业生广州市中级人民法院岗位笔试模拟试卷带答案详解
- 贵州国企招聘2025贵州惠信餐饮管理有限责任公司招聘笔试历年参考题库附带答案详解
- 浙江国企招聘2025绍兴鉴湖酿酒有限公司公开招聘劳务派遣外包人员16人笔试历年参考题库附带答案详解
- 225四川长虹电子控股集团有限公司招聘宣传策划经理等岗位2人笔试历年参考题库附带答案详解
- 2025陕西西安建工物流设备集团3月招聘笔试历年参考题库附带答案详解
- 2025陕西榆林府谷能源投资集团有限公司选聘24人笔试历年参考题库附带答案详解
- 2025辽控集团所属国合集团招聘1人笔试历年参考题库附带答案详解
- 2025贵州黔南州都匀市农旅集团诚聘驻场生猪养殖技术人员6人笔试历年参考题库附带答案详解
- 2025贵州水投水库运营管理黔东南有限公司面向社会招聘笔试笔试历年参考题库附带答案详解
- 数据迁移及备份服务合同
- 幼儿园一日工作流程解读
- 纤支镜灌洗的术前术后护理讲课件
- 加气站风控分级管理制度
- 乡墅建房公司运营管理制度
- 学习通《大学生就业指导》章节测试含答案
- JG/T 511-2017建筑用发泡陶瓷保温板
- T/JSWP 04-2022广告企业信用评价规范
- DB3405T 0007-2024老旧小区海绵城市改造技术规范
- 桐乡市星马针织制衣有限公司年加工60万件毛衫后技术改造项目环评报告
- 道路工程运营方案
评论
0/150
提交评论