-
大小: 2KB文件類型: .m金幣: 1下載: 0 次發(fā)布日期: 2021-01-10
- 語言: Matlab
- 標(biāo)簽:
資源簡介
自己編寫的二維傳熱的偏微分方程中心差分方法離散求解程序
代碼片段和文件信息
function?[uxyt]=TDE(ADTit0bxytMxMyN)
%解方程u_t-v(u_x+u_y)-(u_xx+u_yy)=f?FOR?D(1)<=x<=D(2)D(3)<=y<=D(4)0<=t<=N
%初值:u(xy0)=ixy0(xy)
%邊界條件:u(xyt)=bxyt(xyt)
%Mx,My,N,x軸分段,y軸分段,時(shí)間分段
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;
%初始化u
for?i=1:Mx+1
????for?j=1:My+1
????????u(ij)=it0(x(i)y(j));
????end
end
rx=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?j=1:Mx-1
????P(jj)=ry1;
????if?j>1
????????P(j-1j)=-ry;
????????P(jj-1)=-ry;
????end
end
for?i=1:My-1
????Q(ii)=rx1;
????if?i>1
????????Q(i-1i)=-rx;
????????Q(ii-1)=-rx;
????end
end
size(P)
for?k=1:N
????u_1=u;
????t=k*dt;
????for?i=1:Mx+1?%邊界條件
????u(i1)=f
評(píng)論
共有 條評(píng)論