matlab bvp5c,求解边界值问题 - 五阶方法

编写方程代码

使用代换法 y1=y 和 y2=y′,您可以将 ODE 重写为一阶方程组

y1′=y2,

y2′=-2xy2-1x4y1。

对应的函数是

function dydx = bvpfcn(x,y)

dydx = [y(2)

-2*y(2)/x - y(1)/x^4];

end

注意:所有函数都作为局部函数包含在示例末尾。

编写边界条件代码

边界条件函数要求边界条件的形式为 g(y(a),y(b))=0。在此形式中,边界条件是

y(13π)=0,

y(1)-sin(1)=0。

对应的函数是

function res = bcfcn(ya,yb)

res = [ya(1)

yb(1)-sin(1)];

end

设置选项

使用 bvpset 打开求解器统计信息的显示,并指定宽松误差容限以突出求解器之间误差控制的差异。此外,为了提高效率,请指定解析 Jacobian 矩阵

J=∂fi∂y=[∂f1∂y1∂f1∂y2∂f2∂y1∂f2∂y2]=[01-1x4-2x]。

返回 Jacobian 矩阵值的对应函数为

function dfdy = jac(x,y)

dfdy = [0 1

-1/x^4 -2/x];

end

opts = bvpset('FJacobian',@jac,'RelTol',0.1,'AbsTol'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值