一维导热方程 有限差分 北京化工大学 图形处理 matlab
h9000=9000/dt;
h15000=15000/dt;%3000,9000,15000下,温度分别在T矩阵的哪些行
T3000=T(h3000,:)
T9000=T(h9000,:)
T15000=T(h15000,:)%输出三个时间下的温度分布
%不再对三个时间下的温度-长度曲线画图,其图像就是三维图的截面
%稳定性讨论,傅里叶级数法
dx=xspan(2)/ngrid(2);%x步长
sta=4*a*dt/(dx^2)*(sin(pi/2))^2;
if sta>0,sta<2
fprintf('\n%s\n','有稳定性')
else
fprintf('\n%s\n','没有稳定性')
error
end
%真实值计算
[xe,te,Te]=truesolution(a,f,g1,g2,xspan,tspan,ngrid);
[xe,te]=meshgrid(xe,te);
mesh(xe,te,Te);%画图,并且把坐标轴名称改为xe,te,Te
xlabel('xe')
ylabel('te')
zlabel('Te')
Te%输出温度矩阵
%误差计算
jmax=1/dx+1;%网格点数
[rms]=wuchajisuan(T,Te,jmax)
rms%输出误差