用MATLAB如何解两点边值问题的偏微分方程?

 我来答
dbb627
2011-05-18 · TA获得超过1.2万个赞
知道大有可为答主
回答量:2127
采纳率:88%
帮助的人:1388万
展开全部
Matlab的 ode**系列解算器,默认将 tspan(1)作为初值条件时的 t,
比如你将初值条件换为x(2)=x’(2)=0,那么tspan(1)就必须是 2。

但是工程应用中我们经常遇到边值问题,这些是那些ode**函数无能为力的,当然我们可以自己编写函数求解(比
如shooting),但是那个毕竟不是某些人能力所及的,还好 Matlab中提供了 bvp解算器。

solinit = bvpinit(x, yinit, params)
sol = bvpsolver(odefun,bcfun,solinit,options)

由于边值问题可能有多解,为了便于我们确定那个解是我们需要的,所以必须使用bvpinit函数对初值进行估计

解算器(bvpsolver):Matlab中提供了bvp4c和bvp5c,后者误差控制更好些

输入参数:
x:需要计算的网格点,相当于ode**的tspan
yinit:猜测的值,可以是具体值,也可以是函数,类似与 ode**的 x0
params:其它未知参数,也是一个猜测值
odefun:描述边值问题微分方程的函数句柄
bcfun:边值函数,一般是双边值(x 的上下限即认为两个边界),但也支持多边值(具体看帮助)
solinit:由bvpinit生成的初始化网格
options:BVP解算器优化参数,可以通过bvpset设置,具体参数查看帮助

输出参数:
大部分同理ode45
火丰科技
2024-11-28 广告
致力于从事惯性测量、卫星导航等产品的研发、生产的高新技术企业。公司旗下投资多条自动化生产线分别分布于西安、深圳、珠海等地,其中包括光纤陀螺、MEMS惯导、石英加速度计、电子对抗通信产品生产线,拥有中国先进的惯性导航产品及电子对抗产品生产条件... 点击进入详情页
本回答由火丰科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式