天天看点

Matlab有限差分法解二维热传导方程

用Matlab求解二维热传导方程的实例

①求满足下列条件的二维热传导方程的解:

Matlab有限差分法解二维热传导方程

在MATLAB命令窗口中输入求解程序:

a=0.5;
u_xy0=inline('0','x','y');
u_xyt=inline('x^2*sin(y)-y^2*sin(x)','x','y','t');
D=[0,5,0,5];
T=1000;
Mx=50;
My=50;
N=50;
[u,x,y,t]=sjy(a,D,T,u_xy0,u_xyt,Mx,My,N);
mesh(x,y,u)
xlabel('x')
ylabel('y')
zlabel('U')
           

输出计算结果为:

rx =
  1.0000e+003
ry =
  1.0000e+003
           

运行结果如下:

Matlab有限差分法解二维热传导方程

此解即为差分方程的近似解。

可以利用MATLAB的工具箱PDETOOL:

Matlab有限差分法解二维热传导方程

②求解如下二维热传导方程

Matlab有限差分法解二维热传导方程

在MATLAB命令窗口中输入求解程序:

a=10;
u_xy0=inline('0','x','y');
u_xyt=inline('x*sin(pi*y)-y*sin(pi*x)','x','y','t');
D=[0,2,0,4];
T=500;
Mx=80;
My=80;
N=40;
[u,x,y,t]=sjy(a,D,T,u_xy0,u_xyt,Mx,My,N);
mesh(x,y,u)
xlabel('x')
ylabel('y')
zlabel('t')
           

输出计算结果为:

rx =
  2.0000e+005
ry =
  5.0000e+004 
           

计算结果如下:

Matlab有限差分法解二维热传导方程

可以利用MATLAB的工具箱PDETOOL:

Matlab有限差分法解二维热传导方程

关注我,更多MATLAB编程基础问题持续更新~~

继续阅读