✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

⛄ 内容介绍

基于 IMEX 方法求解对流扩散方程附matlab代码

⛄ 部分代码

function[c]=Boundary(M,rhs,n,c_0,h,q)

%% Sets boundary condition and calculates result vector c

%---------------------------

%  D= Dirichlet N=Neumann x= Inner Region

%

%  for example 4x4 square

%   D DDD

%   D xx  N

%   D xx  N

%   DDDD

%---------------------------------------  

  %% down Dirichlet=0

%----------------------------------------  

   for f=1:n       

        M(f,:)=0;

        M(f,f)=1;

        rhs(f)=0;

   end

%   

%----------------------------------------  

     %% up Dirichlet=0

%----------------------------------------  

    for f=(n^2-(n-1)):n^2       

         M(f,:)=0;

         M(f,f)=1;

         rhs(f)=0;

    end

%     

%----------------------------------------  

%%   left Dirichlet 

%----------------------------------------  

    l=(n+1 : n :(n^2)-n);

    for f=1:length(l)

        j=l(f);

        M(j,:)=0;

        M(j,j)= 1;

        rhs(j)=c_0;

    end

%----------------------------------------  

%%   right Neumann

%%   three point backwards difference

%%----------------------------------------  

%    

 k=(2*n:n:(n^2)-n);

    for m=1:length(l)

        j=k(m);

        M(j,:)=0;

        M(j,j)=(1/h)*(3/2)-q;

        M(j,j-1)=(1/h)*(-2);

        M(j,j-2)=(1/h)*(1/2);

        rhs(j)=0;

    end

  %% Solving System

    c = M\rhs;

   for l=1:n^2

        if (c(l)<=0)

             c(l)=0;

        end

   end

⛄ 运行结果

基于 IMEX 方法求解对流扩散方程附matlab代码_开发者

⛄ 参考文献

[1]金忠青, 陈夕庆. 用脉冲谱-优化法求解对流-扩散方程源项控制反问题[J]. 河海大学学报:自然科学版, 1992(2):8.

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料