ZKX's LAB

利用MATLAB中pdepe函数求解一般的偏微分方程组 matlab求解抛物型偏微分方程组

2021-03-08知识3

求解二维抛物线型偏微分方程matlab程序 function[u,x,y,t]=TDE(A,D,T,ixy0,bxyt,Mx,My,N)解方程 u_t=c(u_xx+u_yy)for D(1)(2),D(3)(4),0初值:u(x,y,0)=ixy0(x,y)边界条件:u(x,y,t)=bxyt(x,y,t)for(x,y)cBMx/My:x轴和y轴的等分段数N:t 轴的等分段数dx=(D(2)-D(1))/Mx;x=D(1)+[0:Mx]*dx;dy=(D(4)-D(3))/My;y=D(3)+[0:My]'*dy;dt=T/N;t=[0:N]*dt;初始化ufor i=1:Mx+1for j=1:My+1u(i,j)=ixy0(x(i),y(j));endendrx=A*dt/(dx*dx);rx1=1+2*rx;rx2=1-2*rx;ry=A*dt/(dy*dy);ry1=1+2*ry;ry2=1-2*ry;for i=1:Mx-1%(11.2.21a)P(i,i)=ry1;if i>;1P(i-1,i)=-ry;P(i,i-1)=-ry;endendfor j=1:My-1%(11.2.21b)Q(j,j)=rx1;if j>;1Q(j-1,j)=-rx;Q(j,j-1)=-rx;endendfor k=1:Nu_1=u;t=k*dt;for i=1:Mx+1%边界条件u(i,1)=feval(bxyt,x(i),y(1),t);u(i,My+1)=feval(bxyt,x(i),y(My+1),t);endfor j=1:My+1u(1,j)=feval(bxyt,x(1),y(j),t);u(Mx+1,j)=feval(bxyt,x(Mx+1),y(j),t);endif mod(k,2)=0for i=2:Mxj=2:My;bx=[ry*u(i,1)zeros(1,Mx-3)ry*u(i,My+1)]+rx*(u_1(i-1,j)+u_1(i+1,j))+rx2*u_1(i,j);u(i,j)=linsolve(P,bx');(11.2.21a)endelsefor j=2:Myi=2:Mx;by=[rx*u(1,j);zeros(My-3,1);rx*u。

利用MATLAB中pdepe函数求解一般的偏微分方程组

利用MATLAB中pdepe函数求解一般的偏微分方程组 matlab求解抛物型偏微分方程组

跪求MATLAB解抛物型偏微分方程的程序 1,不一定有效果,因为pdetool具体编程是不知道的,如果解决小问题两者的结果一样说明不了什麽问题,尤其对于偏微分方程。2有限元的边界必须固定,从数理方程上讲静态有限元问题就是边值问题,如果边界变化的话,初始一下别的专业有限元软件,比如anasys,adima等。

#matlab求解抛物型偏微分方程组

随机阅读

qrcode
访问手机版