




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档偏微分方程数值解上机实验报告 (一)实验一一、 上机题目:用线性元求解下列边值问题的数值解:-y+24y=22sin2x,0x1y(0)=0,y1=0二、 实验程序:function S=bz x=fzero(zfun,1); t y=ode45(odefun,0 1,0 x); S.t=t;S.y=y;plot(t,y)xlabel(x:从0一直到1)ylabel(y) title(线性元求解边值问题的数值解) function dy=odefun(x,y) dy=0 0;dy(1)=y(2);dy(2)=(pi2)/4*y(1)-(pi2)/2)*sin(x*pi/2);function z=zfun(x); t y=ode45(odefun,0 1,0 x);z=y(end)-0;三、 实验结果:1以步长h=0.05进行逐步运算,运行上面matlab程序结果如下: 2在0x1区间上,随着x的不断变化,x,y之间关系如下图所示:(二)实验二四、 上机题目:求解Helmholtz方程的边值问题:,于,于其中k=1,5,10,15,20五、 实验程序:(采用有限元方法,这里对0,1*0,1采用n*n的划分,n为偶数)n=10; a=zeros(n);f=zeros(n);b=zeros(1,n);U=zeros(n,1);u=zeros(n,1); for i=2:n a(i-1,i-1)=pi2/(12*n)+n; a(i-1,i)= pi2/(24*n)-n; a(i,i-1)= pi2/(24*n)-n; for j=1:n if j=i-1 a(i,j)=a(i,i-1); else if j=i a(i-1,j-1)=2*a(i-1,i-1); else if j=i+1 a(i,j)=a(i,i+1); else a(i,j)=0; end end endendenda(n,n)=pi2/(12*n)+n; for i=2:n f(i-1,i)=4/pi*cos(i-1)*pi/2/n)-8*n/(pi2)*sin(i*pi/2/n)+8*n/(pi2)*sin(i-1)*pi/2/n); end for i=1:n f(i,i)=-4/pi*cos(i*pi/2/n)+8*n/(pi2)*sin(i*pi/2/n)-8*n/(pi2)*sin(i-1)*pi/2/n); end %b(j)=f(i-1,j)+f(i,j)for i=1:(n-1) b(i)=f(i,i)+f(i,i+1); end b(n)=f(n,n); tic; n=20; can=20; s=zeros(n2,10); h=1/n; st=1/(2*n2); A=zeros(n+1)2,(n+1)2); syms x y; for k=1:1:2*n2 s(k,1)=k; q=fix(k/(2*n); r=mod(k,(2*n); if (r=0) r=r; else r=2*n;q=q-1; end if (r=n) s(k,2)=q*(n+1)+r; s(k,3)=q*(n+1)+r+1; s(k,4)=(q+1)*(n+1)+r+1; s(k,5)=(r-1)*h; s(k,6)=q*h; s(k,7)=r*h; s(k,8)=q*h; s(k,9)=r*h; s(k,10)=(q+1)*h; else s(k,2)=q*(n+1)+r-n; s(k,3)=(q+1)*(n+1)+r-n+1; s(k,4)=(q+1)*(n+1)+r-n; s(k,5)=(r-n-1)*h; s(k,6)=q*h; s(k,7)=(r-n)*h; s(k,8)=(q+1)*h; s(k,9)=(r-n-1)*h; s(k,10)=(q+1)*h; end end d=zeros(3,3); B=zeros(n+1)2,1); b=zeros(3,1); for k=1:1:2*n2 L(1)=(1/(2*st)*(s(k,7)*s(k,10)-s(k,9)*s(k,8)+(s(k,8)-s(k,10)*x+(s(k,9)-s(k,7)*y); L(2)=(1/(2*st)*(s(k,9)*s(k,6)-s(k,5)*s(k,10)+(s(k,10)-s(k,6)*x+(s(k,5)-s(k,9)*y); L(3)=(1/(2*st)*(s(k,5)*s(k,8)-s(k,7)*s(k,6)+(s(k,6)-s(k,8)*x+(s(k,7)-s(k,5)*y); for i=1:1:3 for j=i:3 d(i,j)=int(int(diff(L(i),x)*(diff(L(j),x)+(diff(L(i),y)*(diff(L(j),y)-(can2)*L(i)*L(j),x,0,1),y,0,1); d(j,i)=d(i,j); end end for i=1:1:3 for j=1:1:3 A(s(k,(i+1),s(k,(j+1)=A(s(k,(i+1),s(k,(j+1)+d(i,j); end end for i=1:1:3 b(i)=int(int(L(i),x,0,1),y,0,1); B(s(k,(i+1),1)=B(s(k,(i+1),1)+b(i); end end M=zeros(n+1)2,n2); j=n2; for i=(n2+n):-1:1 if (mod(i,(n+1)=1) M(:,j)=A(:,i); j=j-1; else continue end end preanswer=MB; answer=zeros(n+1)2,1); j=1; for i=1:1:(n2+n) if (mod(i,(n+1)=1) answer(i)=preanswer(j); j=j+1; else answer(i)=0; end end Z=zeros(n+1),(n+1); for i=1:1:(n+1)2 s=fix(i/(n+1)+1; r=mod(i,(n+1); if(r=0) r=n+1; s=s-1; else end Z(r,s)=answer(i); end X,Y=meshgrid(1:-h:0,0:h:1); surf(X,Y,Z); toc; t=toc; K=a ;B=b; U=inv(K)*B for i=1:n u(i,1)=4/(pi2)*sin(pi*i/n/2);end ue=U-u六、 实验结果:程序中的变量can为问题中的k,为了方便比较,采用了画图的方式。在n=10时,分别考察can=k=1,5,10,15,20时的情况。1.can=k=1时2.can=k=5时3.can=k=10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部编人教版三年级语文下册《习作:身边那些有特点的人》公开课教学课件
- 能否取消拍卖合同协议书
- 物业合同续签申请协议书
- 电力器材回收合同协议书
- 材料被盗调解协议书模板
- 碎石机加工样本合同协议
- 门店客户股东合伙协议书
- 高档小区房屋置换协议书
- 物业旧物回收合同协议书
- 聘用兼职人员协议书范本
- 《工程勘察设计收费标准》(2002年修订本)
- TCGMA0330012018压缩空气站能效分级指南
- 平面连杆机构的基本类型与应用
- 人体解剖生理基础三级公共营养师基础
- 天锐绿盾数据防泄密系统管理员使用手册
- JJF 1214-2008长度基线场校准规范
- GB/T 14592-1993钼圆片
- GB/T 13822-2017压铸有色合金试样
- GB 15203-2003淀粉糖卫生标准
- FZ/T 50004-2011涤纶短纤维干热收缩率试验方法
- 城建档案资料员培训课件
评论
0/150
提交评论