700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 偏微分方程matlab求解 Matlab求解微分方程(2)——偏微分方程的求解

偏微分方程matlab求解 Matlab求解微分方程(2)——偏微分方程的求解

时间:2024-04-07 19:00:21

相关推荐

偏微分方程matlab求解 Matlab求解微分方程(2)——偏微分方程的求解

从写完上一篇常微分方程的求解到现在已经很长时间了,这周也一直忙于报到的各种事宜,无暇坐下来写些东西,趁着这个周末,终于完成了这个姊妹篇。

对于偏微分方程的求解,Matlab提供了两种工具。第一种是pdepe()函数,它的特点是通用性好,不受求解阶次的限制,不足之处是只支持命令行的格式;第二种是PDE工具箱,它的特点是提供了一个GUI界面,简洁易懂可视,可以从枯燥的编程中解脱出来,不足之处是使用有限制,只能求解二阶的PDE,且不支持偏微分方程组的求解。

(1)、首先,我们来介绍pdepe()函数的使用。

pdepe()函数的调用格式为:

sol=pdepe(m,@pdefun,@pdeic,@pdebc,x,t)

其中,@pdefun是PDE方程的函数描述,它必须写成下面这种固定的格式:

这样,偏微分方程可以编写下面的函数描述,其入口为

[c,f,s]=pdefun(x,t,u,ux)

其中,pdefun为函数名;m,x,t就是对应于标准格式中的相关参数。

@pdebc是PDE的边界条件描述函数,必须先化成下面的标准形式:

于是边值条件可以编写下面的函数描述为

[pa,qa,pb,qb]=pdebc(x,t,u,du)

其中a表示上边界,b表示下边界。

@pdeic是PDE的初值条件,必须化成下面的形式:

我们使用下面的简单函数来描述为

u0=pdeic(x)

sol是一个三维数组,sol(:,:,i)表示ui的解。

接下来,我们举一个例子来说明pdepe()函数的使用(由于没办法插入公式,截图如下):

经过上面的分析,我们使用如下程序求解:

function pde

%主函数

x=0:0.05:1;

t=0:0.05:2;

m=0;

sol=pdepe(m,@mpde,@mpic,@mpbc,x,t);

surf(x,t,sol(:,:,1))

figure;

surf(x,t,sol(:,:,2))

function

[c,f,s]=mpde(x,t,u,du) %给出偏微分方程的函数描述

c=[1;1];

f=[0.024*du(1);0.17*du(2)];

temp=u(1)-u(2);

s=[-1;1].*(exp(5.73*temp)-exp(-11.46*temp));

function

[pa,qa,pb,qb]=mpbc(xa,ua,xb,ub,t)%边界条件描述

pa=[0;ua(2)];

qa=[1;0];

pb=[ub(1)-1;0];

qb=[0;1];

function u0=mpic(x)

%初值描述

u0=[1;0];

结果如下:

(2)、PDE工具箱的使用

在Matlab的Command Window中键入pdetool即可调出求解界面。

界面求解比较简单,具体的使用方法这里就不做介绍了。

还是老规矩,由于无法插入公式,只能做截图处理,界面比较乱,下面给大家提供本文PDF格式和文中例子M文件的下载:http://ishare./f/61487902.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。