数值求解算法

数值求解思想:

(变量离散化
引入自变量点列niNn,在X<x;<x2...上求v(x.)的近似值, Xn通常取等步长h,即Xn=x+nXh,或x,=x-+ h, (n=1,2,...).

在小区间Lxn,x+l]上用差商代替微商(近似)V(xt)-y(x)h
向前欧拉公式:’=f(x, y) )y(xn+)~y(x,)+ h /xn,y(x,)) (送代式)Jnt1~Yn + h/(xn,) (近似式)特点: /(x,y)取值于区间[x,xt1]的左端点

特点:
(x,y)取值于区间[x, xt]的右端点非线性方程,称“隐式公式’

例 1

y'=-y+x+1,1(0)=1,h =0.1其中f(x,y)=-y+x+1
观察向前欧拉、向后欧拉算法计算情况。与精确解进行比较。误差有多大?
解: 1) 解析解: y=x+e

代码

x1(1)=0;y1(1)=1;y2 (1)=1;h=0.1for k=1:10
x1(k+1)=x1(k)+h ;
y1 (k+1)=(1-h)*y1(k) +h*x1 (k) +h ;y2 (k+1)=(y2 (k) +h*x1 (k+1) +h) / (1+h) :
end
x1,Y1,Y2,号 (y1-向前欧拉解,y2--向后欧拉解)x=0:0.1:1;
y=x+exp(-x)号(解析解plot(x,y,x1,y1,'k:',x1,y2,'r--

计算结果

我的总结与思考

有什么方法可以使精度提高 ?

梯形公式

[f(xn,Nn)+f(xn+,Nnu)]Yn+1=Yn+
n = 0,1,2,...
y.+ hf(x.Nn)

改进欧拉公式

思考计算结果

改进欧拉公式

总结

  1. 微分方程:含参数、未知函数、未知函数的导数(或者微分)的方程
  2. 数值求解:用若干离散点计算 近似值 来代替准确值
    分类:单步法、多步法;隐式法、显示法
  3. 欧拉法 (欧拉折线法),也是一阶龙格-库塔法:以矩阵面积代替曲面梯形面积
  4. 改进欧拉法 (预估——校正法),也是二阶龙格-库塔法:以梯形面积代替曲面梯形面积
  5. 龙格-库塔法(重点):+1 的值用在某些点上函数值的线性组合成来计算,计算的次数是龙格库塔的阶。从几何意义看:用多个斜率加平均计算叠加,从而逼近准确值
    一般常用 四阶龙格-库塔法。
    阶数越高、步长越小,则计算精度越高,但是计算量越大
  6. 补充:对于2阶微分方程,则需要拆分成2个一阶微分方程,此时的 f(x,y) 变成了 f(x,y,y') 需要分别用R-K法计算 y 和 y'
  7. 局部截断误差:准确值-近似值
  8. 局部误差的阶(也是龙格-库塔法的阶)
  9. 亚当姆斯法(重点):是线性多步法,利用已求出的多个值进行计算
  10. 拉格朗日插值:构造函数多项式  来近似代替 
  11. 亚当姆斯法用拉格朗日插值的函数多项式近似替代
  12. 亚当姆斯公式有:显式公式、隐式公式
  13. 用高阶的亚当姆斯法(一般四阶)计算,得到的计算结果一般更精确,且计算量比龙格-库塔法少,唯一缺点是最前面几个值需要用其他方法求出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值