【问题标题】:Solving for Fisher Kolmagorov Partial Differential Equation求解 Fisher Kolmagorov 偏微分方程
【发布时间】:2014-09-30 05:16:05
【问题描述】:

我一直在尝试在 Matlab 中求解无量纲的 Fisher Kolmagorov 方程。我得到一个看起来完全不像它应该的图表。另外,我得到的方程独立于s 的值(pdepe 求解器中的源项)。无论s 的值是多少,我在图中都保持不变。

function FK     
m = 0;    
x = linspace(0,1,100);    
t = linspace(0,1,100);    
u = pdepe(m,@FKpde,@FKic,@FKbc,x,t);    
[X,T] = meshgrid(x,t);

%ANALYTICAL SOLUTION    
% a=(sqrt(2))-1;    
% q=2;    
% s=2/q;    
% b= q /((2*(q+2))^0.5);    
% c= (q+4)/((2*(q+2))^0.5);    
% zeta= X-c*T;    
%y = 1/((1+(a*(exp(b*zeta))))^s);    
%r=(y(:,:)-u(:,:))./y(:,:); % relative error in numerical and analytical value

figure;    
plot(x,u(10,:),'o',x,u(40,:),'o',x,u(60,:),'o',x,u(end,:),'o')    
title('Numerical Solutions at different times');    
legend('tn=1','tn=5','tn=30','tn=10','ta=20','ta=600','ta=800','ta=1000',0);    
xlabel('Distance x');
ylabel('u(x,t)');    

% --------------------------------------------------------------------------
function [c,f,s] = FKpde(x,t,u,DuDx)    
c = 1;    
f = DuDx;    
s =u*(1-u);

% --------------------------------------------------------------------------    
function u0 = FKic(x)    
u0 = 10^(-4);

% --------------------------------------------------------------------------    
function [pl,ql,pr,qr] = FKbc(xl,ul,xr,ur,t)    
pl = ul-1;    
ql = 0;    
pr = ur;    
qr = 0;

【问题讨论】:

    标签: matlab pde


    【解决方案1】:

    也许应该是评论,但将其作为更好格式的答案。您的分析解决方案,我假设您用来与数字答案进行比较,以说明该图看起来不像它应该的那样,似乎不尊重您提供 pdepe 的初始条件或边界条件,所以我会开始如果想弄清楚为什么u 看起来不像y

    您设置的初始条件和边界条件是:

    u(0, t) = 1
    u(1, t) = 0
    u(x, 0) = 1e-4
    

    抛开边界和初始条件冲突,你在代码中建议的解析解决方案有

    u(0, t) = 1/((1+exp(-b*ct)))
    u(1, t) = 1/((1+exp(b*(1-ct)))
    u(x, 0) = 1/((1+exp(b*x))
    

    所以在我看来,数值解和解析解应该是不同的,而您观察到的差异可能是由于 IC/BC 设置。我怀疑pdepe 可能正在解决您给出的方程式。

    【讨论】:

    • 我知道解析解错了。我已经评论过了。 (我知道我应该删除它,抱歉!)无论您使用什么源术语,pdepe 图看起来都完全相同。这就是为什么我想知道 pdepe 是否有问题。
    • 我不同意解决方案不依赖于源项 - 我将源项从 u*(1-u) 更改为 1e3*u*(1-u) 并得到非常不同的图表。
    【解决方案2】:

    在增加长度尺度和时间尺度时,我得到了我想要的答案。问题是要解决不同的时间,看看波的传播。对于小的长度,我只能看到那波的一部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多