matlab二阶非线性微分方程求解,二阶非线性常微分方程的打靶法.ppt

二阶非线性常微分方程的打靶法

二阶非线性常微分方程的打靶法 计算思路 主要分为以下五步: 给定容许误差ε,迭代初始值γ1,对k=1,2,...做: (1)用四阶Runge-Kutta 方法求解初值问,得出u1之后取其在γk的值,从而得到F(γk)=u1(b,γk)-β (2)若|F(γk)|<ε,则u1 即为所求,跳出循环。 否则: (3)用四阶Runge-Kutta 方法求解初值问题 由此得到F'(γk)=v1(b,γk) (4)用牛顿迭代计算γk+1,即 (5)置k+1→k,转(1)直到误差在范围内。 综上,实现了打靶法对非线性方程的拟合。 接下来是每一步的代码: 程序开头各变量的设置 function ys=ndbf(f,g,a,b,alfa,beta,n,eps,s0) %f 为二阶导数,y''=f(x,y,y'),g 为f 对y 求偏导后的 %(a,b)为自变量迭代区间 %alfa,beta 为给定的边值条件 %eps 题目规定的精度 %n 为迭代次数 %选取适当的s0 的初值 循环第一步 x0=[alfa,s0]; %选取合适的迭代初值 y0=RK4(f,a,b,h,x0); %龙格库塔算出u1(γk) constant=y0(n,1)-beta; 这里的y0(n,1)即是u1(γk,b),constant即为F(γk) 循环第二步 检验误差以跳出 if abs(constant)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值