资源简介

DuFort-Frankel格式求解椭圆-抛物型偏微分方程组,matlab程序,其中椭圆用积分公式,抛物用DuFort-Frankel格式,多多指教

资源截图

代码片段和文件信息

function [U x t]=PDEParabolicClassicalExplicit(uXuTphipsi1psi2MNC)
%古典显式格式求解抛物型偏微分方程
uX=20;M=1000;uT=100;N=200;uL=0.01;qL=0;uR=0.01*(1+atan(uX));qR=0;epsi=100;

phi=@(x)0.01*(1+atan(x));psi11=@(t)uL;psi12=@(t)uR;psi21=@(t)qL;

dx=uX/M;%x的步长
dt=uT/N;%t的步长

x=(0:M)*dx;
t=(0:N)*dt;
r=dt/dx/dx;%步长比
r1=1-2*r;

%if r > 1/2
%   disp(‘r > 1/2不稳定‘)
%end

%计算初值和边值
U=zeros(M+1N+1);
q=zeros(M+1N+1);
for i=1:M+1
    U(i1)=phi(x(i));U(i2)=U(i1);
end
for j=1:N+1
    U(1j)=psi11(t(j));U(M+1j)=psi12(t(j));
    q(1j)=psi21(t(j));q(M+1j)=0;
end
%用公式q=-1/2\int_0^{inf}(e^{|x-y|}-e^{-|x+y|})u_y(y)dy解q(i1)
for i=1:M
    for k=2:M     
        Q=q(i1);
        q(i1)=Q-1/4*(exp(-abs(i*dx-k*dx))-exp(-abs(i*dx+k*dx)))*(U(k+1

评论

共有 条评论