向前差分格式求解二维热传导方程

用向前差分格式求解二维热传导方程       
function varargout=liu(varargin)
T=1;a=1;h=1/30;dt=1/150;
[X,T,Z]=chfenmethed(h,dt,a,T);
mesh(X,T,Z(:,:,3));
shading flat;
% xlabel('X','FontSize',14);
% ylabel('t','FontSize',14);
% zlabel('error','FontSize',14);
% title('误差图');
function [X,Y,Z]=chfenmethed(h,dt,a,T);
%求解下问题
%u_t-a*(u_xx+u_yy)=f(x,y,t) 0<x,y<1,0<t<T
二七惨案%u(0,y,t)=g0,u(x,0,t)=g1,
%u(x,y,0)=d 廿四史
%h离散x y方向的步长
%dt离散t方向的步长
x=0:h:1;
y=x;
t=0:dt:T;
m=length(x);
n=length(t);
r=a*dt/h^2;
[X,Y]=meshgrid(x,y);
Z=zeros(m,m,n);
U=zeros(m,m,n);
for i=1:m
    for j=1:m
  U(i,j,1)=d(x(i),y(j));
    end
end
for j=2:n
    for k=1:m
      U(1,k,j)=g0(y(k),t(j));
      U(m,k,j)=g1(y(k),t(j));
      U(k,1,j)=h0(x(k),t(j));
      U(k,m,j)=h1(x(k),t(j));
    endxtt
end陈小蒙
for k=2:n
    for i=2:m-1
        for j=2:m-1
            U(i,j,k)=U(i,j,k-1)+r*a*(U(i+1,j,k-1)+U(i-1,j,k-1)+U(i,j+1,k-1)...
髋骨
                +U(i,j-1,k-1)-4*U(i,j,k-1))+f(x(i),y(j),t(k-1));
            Z(i,j,k)=abs(U(i,j,k)-Uu(x(i),y(j),t(k)));
        end
    end
end
function z=Uu(x,y,t)
%精确解函数
z=exp(-t)*sin((x+y)*pi) ;
function z=g0(y,t)
z=Uu(1,y,t);
function z=g1(y,t)
z=Uu(1,y,t);
function z=h0(x,t)
z=Uu(x,0,t);
function z=h1(x,t)
z=Uu(x,1,t);
function z=d(x,y)
z=Uu(x,y,0);
function z=f(x,y,t)
z=exp(-t)*sin((x+y)*pi)*(2*(pi)^2-1);

设计结果与分析:第29次中国互联网络发展状况统计报告
所得图形:

本文发布于:2024-09-25 13:17:31,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/295553.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:求解   热传导   格式   统计   状况   发展
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议