• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-10
  • 语言: Matlab
  • 标签:

资源简介

自己编写的二维传热的偏微分方程中心差分方法离散求解程序

资源截图

代码片段和文件信息

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轴分段,时间分段
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

评论

共有 条评论

相关资源