模拟与仿真 根据课上所学知识,我们有如下方程: 为便于解释做题,我们令: a=1 l=pi =x; 下面开始求解: 分离变量法 根据课上所讲 2 0 0 0,0,0 0,0,0 ( ),0 txx x xx l t ua uxlt uut uxxlϕ ϕ == = == = −= == = = 其中: 我们有如下代码: x=0:0.1*pi:pi; y=0:0.4:10; [x,t]=meshgrid(x,y); u=0; m=length(j);%matlab 可计算的最大数,相当于无穷 for i=0:m u=u+8*(-1)^i/(pi*(2*i+1)^2)*(sin((2*i+1)/2*x).*exp(-(2*i+1)^2/4*t)); end; surf(x,t,u); xlabel(x),ylabel(t),zlabel(T); title( 分离变量法(无穷)); disp(u); 得到如图所示的热传导方程: 有限差分法 u=zeros(20,100); %t=1 x=pi 20 行 100 列 横坐标为 x 纵坐标为 t s=(1/100)/(pi/20)^2; fprintf(稳定性系数 S 为:\n); disp(s); for i=1:20 u(i,1)=i/20*pi;; end; for j=1:100 u(1,j)=0; end for j=1:99 for i=2:19 u(i,j+1)=s*u(i+1,j)+(1-2*s)*u(i,j)+s*u(i-1,j); end end for j=1:100 u(20,j)=u(19,j); end; disp(u); [x,t]=meshgrid(1:100,1:20); surf(x,t,u); xlabel(t),ylabel(x),zlabel(T); title( 有限差分法解); 我们得到如图所示的热传导方程: 结论: 比较可得由以上两种方法作出的三维图形基本相同,符合热传导的热量分布 随时间和空间的变化规律 第四题完成
展开阅读全文