- Initial conditions.
- Boundary conditions.
- The diffusion coefficient, denoted as "D", plays a crucial role in governing the speed at which spatial spreading occurs.
- The growth rate parameter, represented by "r", determines the rate of population growth.
Pdepe function giving a different plot from what I expect
2 次查看(过去 30 天)
显示 更早的评论
Hi everyone,
I tried to solve a Fisher Kolmogorov pde equation using pdepe. Matlab does not give any sign of error still I don't get what I was supposed to. I include my code:
x=linspace(0,1);
t=linspace(0,8*365);
m = 0;
u= pdepe(m,@heatcyl,@heatic,@heatbc,x,t);
surf(x,t,u)
xlabel('x')
ylabel('t')
zlabel('u(x,t)')
view([150 25])
figure
plot(t,u(100,:));
function [c,f,s]=heatcyl(x,t,u,dudx)
c = 1;
f = dudx;
s = 0.01*(1-u).*u;
end
%initial condition
function u0 = heatic(x)
u0 = 0.3*sech(0.3*x);
end
%boundary conditions
function [pl,ql,pr,qr] = heatbc(xl,ul,xr,ur,t)
pl = 0;
ql = 1;
pr = 0;
qr = 1;
end
I would expect, if I plot the solution at a certain time t , to get the classical plot :
Boundary condition are no flux conditions and the initial condition is the one indicated in the code
I also include the equation I start from:
Thanks in advance to anyone giving advice.
0 个评论
回答(1 个)
SAI SRUJAN
2023-10-10
Hi Francesca Punzi,
I understand that you facing diffoculty in producing the desired output of Fisher Kolmogorov pde equation.
The following is the Fisher Kolmogorov partial differential equation.
You can follow the below given example to resolve the issue.
x=linspace(0,20);
t=linspace(0,1);
m=0;
u= pdepe(m,@heatcyl,@heatic,@heatbc,x,t);
plot(t,u(2,:),'--');
function [c,f,s]=heatcyl(x,t,u,dudx)
D=0.1;
r=0.5;
c = 1;
f = dudx*D;
s = r*u*(1-u);
end
%initial condition
function u0 = heatic(x)
u0 = sech(x);
end
%boundary conditions
function [pl,ql,pr,qr] = heatbc(xl,ul,xr,ur,t)
pl = 0;
ql = 1;
pr = 0;
qr = 1;
end
In order to effectively accomplish the desired outcome, the process is significantly influenced by the following variables and conditions:
You can refer to the below documentation to understand more about "pdepe" function in MATLAB.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 PDE Solvers 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!