资源描述:
《偏微分实验报告作业2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、偏微分方程(Matlab)实验报告(四)——差分法一、实验题目用差分法求自由振动问题的周期解:二、实验原理取空间步长和时间步长用两族平行直线()和(n=0,1,……)作矩形网格,于网点()用Taylor展式得差分方程:三、实验程序functionu=peEllip5m(nx,minx,maxx,ny,miny,maxy)formatlong;hx=(maxx-minx)/(nx-1);hy=(maxy-miny)/(ny-1);u0=zeros(nx,ny);forj=1:nyu0(j,1)=EllIni2Uxl(minx,miny+(j-1)*hy);u0(j,nx)
2、=EllIni2Uxr(maxx,miny+(j-1)*hy);endforj=1:nxu0(1,j)=EllIni2Uyl(minx+(j-1)*hx,miny);u0(ny,j)=EllIni2Uyr(minx+(j-1)*hx,maxy);endA=-4*eye((nx-2)*(ny-2),(nx-2)*(ny-2));b=zeros((nx-2)*(ny-2),1);fori=1:(nx-2)*(ny-2)ifmod(i,nx-2)==1ifi==1A(1,nx)=1;b(1)=-u0(1,1)-u0(3,1)-u0(1,3);elseifi==(ny-3)*(
3、nx-2)+1A(i,i-nx+1)=1;b(i)=-u0(ny,1)-u0(ny,3)-u0(ny-2,1);elseA(i,i-nx+3)=1;A(i,i+nx-1)=1;b(i)=-u0(floor(i/(nx-2))+1,1)-u0(floor(i/(nx-2))+3,1);endendelseifmod(i,nx-2)==0ifi==nx-2A(i,i+nx-1)=1;b(i)=-u0(1,nx-2)-u0(1,nx)-u0(3,nx);elseifi==(ny-2)*(nx-2)A(i,i-nx+1)=1;b(i)=-u0(ny,nx)-u0(ny,nx-2
4、)-u0(ny-2,nx);elseA(i,i-nx+1)=1;A(i,i+nx-3)=1;b(i)=-u0(floor(i/(nx-2)),nx)-u0(floor(i/(nx-2))+2,nx);endendelseifi>1&&i(ny-3)*(nx-2)&&i<(ny-2)*(nx-2)A(i,i-nx+3)=1;A(i,i-nx+1)=1;b(i)=-u0(ny,mod(i,(nx-2)))-u0(ny,mod(i,(nx-2))+
5、2);elseA(i,i-nx+3)=1;A(i,i+nx-1)=1;A(i,i+nx-3)=1;A(i,i-nx+1)=1;endendendendendul=Ab;fori=1:(ny-2)forj=1:(nx-2)u(i,j)=ul((i-1)*(nx-2)+j);endendformatshort;