MATLAB学习笔记(二)PDE求解偏微分方程组

一、利用PDE求解偏微分方程组

初值为:

针对上述方程组,利用matlab自带工具箱和函数PDE进行求解。

以下是matlab中对工具箱中pdepe函数的解释。

二、matlab编程

       在matlab中编程,利用PDE函数求解以上偏微分方程。

clc;
clear;
syms y
global gama beta alpha delta
gama=3;
beta=0.22;
alpha=0.5;
delta=0.62;
%%PDE标准形式
x = linspace(0,299,300);
t = linspace(0,269,270);
m=0;
sol = pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t);

figure('numbertitle','off','name','PDE')
plot(x,sol(:,:,1),x,sol(:,:,2))
title('The Solution of u,v')
xlabel('x')
ylabel('u,v->')

function [c,f,s] = pdex1pde(x,t,u,dudx)
gama=3;
beta=0.22;
alpha=0.5;
delta=0.62;
c=[1;1];
f=[dudx(1);dudx(2)];
s=[gama*u(1)*(1-u(1))*(u(1)+beta)-u(1)*u(2)/(1+alpha*u(1));u(1)*u(2)/(1+alpha*u(1))-delta*u(2)];
end

function u0 = pdex1ic(x)
if (0<=x)&&(x<=3)
    u0=[1;1];
elseif (3<x)&&(x<=300)
    u0=[1;0];
end
end 

function [pl,ql,pr,qr] = pdex1bc(x,u,xl,ul,xr,ur,t)
pl=[0;0];
ql=[0;0];
pr=[0;0];
qr=[0;0];
end

运行结果如下图,得到u和v的曲线。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值