天天看點

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程式設計基礎問題持續更新~~

繼續閱讀