精华内容
下载资源
问答
  • 静态局部变量定义时赋初值问题和定义后赋初值问题 如 1 . static int a=1; 2 . static int a; a=1; 函数中静态局部变量a赋初值,采用上述两种方式时不一样,采用方式1时a是上次结束时的值,采用2方式时a=1还是...

    静态局部变量定义时赋初值问题和定义后赋初值问题


    1 . static int a=1;
    2 . static int a; a=1;

    函数中静态局部变量a赋初值,采用上述两种方式时不一样,采用方式1时a是上次结束时的值,采用2方式时a=1还是每次都运行,为什么?

    初始化和赋值是不同的概念。

    只初始化一次,不是只赋值一次。

    展开全文
  • 波动方程初值问题MATLAB程序,适合初学者使用的程序,简单易懂
  • 常微分方程初值问题数值解法.ppt
  • 为了研究一阶线性模糊微分方程组的模糊初值问题,提出了模糊微分方程组的刻画方程组和关联解的概念,讨论了精确初值对刻画方程组解的影响,利用精确初值与关联解之间的关系,定义了模糊微分方程组初值问题解,同时给出了...
  • 微分方程初值问题的数值解法的比较,孙坤,任亮,本文主要讨论了满足某种初值问题的微分方程的数值解法。把数值解法分为单步法和多步法两种, 并列举了常用的单步法: 如欧拉法、龙�
  • 求常微分方程初值问题的数值方法.docx
  • 常微分方程初值问题的一类单步解法,李晓辉,岳荣先,利用Taylor展开工具提出常微分方程初值问题的一类单步求解法,并证明该方法的相容性、稳定性和收敛性.该方法克服了传统单步法的缺�
  • 模糊微分方程初值问题的数值解法,杨旭,戴永贤,在近似计算中,微分方程的数值解历来是一个重大课题,因为它在数学、物理学、统计、土木建筑学和社会科学等领域都有重要作用,但
  • Banach空间中二阶积-微分方程初值问题,排新颖,马善立,利用半序方法和新的比较结果,研究了Banach空间中二阶积-微分方程初值问题的最大解,最小解,解的存在。本文结果仅用了下解或上解
  • 二阶常微分方程初值问题的Laguerre-Gauss配置法,严建平,郭本瑜,本文研究二阶常微分方程初值问题的数值解法。文中基于Laguerre-Gauss插值设计了一类新的配置法, 它易于计算,且特别适用于非线性问题�
  • 该算法用Runge-Kutta 法解初值问题。a,b—求解区间的左右端点,y 0 —初 值,步长选用h。依次由公式计算出K1,K2,K3,K4 的值并计算出出每步的y(n)。 同时每算依次就更新依次t(n)的取值,最终输出t i 和y
  • 针对非线性常微分方程定解问题以及非线性常微分方程奇异摄动初值问题的诸多研究,指出一类三阶非线性奇摄动初值问题存在套层解.通过理论分析证实解的边界层项的指数性质,使用微分不等式和比较定理,揭示了问题解的套层...
  • 在本说明中,我们考虑一些与数值积分方法的准确性和稳定性有关的基本问题,这些问题遵循一阶和二阶初值问题(IVP)的解决方案。 其中包括有关多种解决方案,多步方法,初始值扰动的影响以及在二阶问题中减慢和推进...
  • 初值问题:即满足初值条件的常微分方程的解 首先,常微分方程得有解---有解条件----利普希茨条件---定理1 (利普希茨条件)若存在正数L,使得对任意 ,有 定理2 (解存在性) ①若函数 在方区域 连续,②函数 关于y...
    • 初值问题:即满足初值条件的常微分方程的解

    首先,常微分方程得有解---有解条件----利普希茨条件---

    定理1 (利普希茨条件)若存在正数L,使得对任意

    ,有

    定理2 (解存在性) ①若函数

    在方区域
    连续,②函数
    关于y满足利普希茨条件,

    则对任意

    常微分方程存在唯一连续可微数值解.
    由于原函数是无法精确求解出来的,我们只需要求解在某点的值就好

    两类问题:

    ①单步法 ---计算下一个点的值

    只需要用到前面一个点的值

    ②多步法---计算下一个点的值

    需要用到前面
    个点的值

    1、欧拉法---下一个点的计算值等于前一个点的计算值加上步长乘以前一个点的函数值

    ①初值条件:给出因变量在某个点上的值
    • 具体过程
    第一步:将初值条件带入微分方程,得到在该点的导数值
    第二步:在该点,用taylor进行展开,舍去二次项,将一次函数近似函数y
    第三:计算第二个点在直线上的值,用这个值近似函数
    的在第二个点的值,依此类推,直到迭代完成

    一些批注:显式欧拉方程指下一步要计算的值,不在迭代方程中;隐式欧拉方程指下一步要计算的值,在迭代方程中。

    怎么计算隐式欧拉方程----要借助显示欧拉迭代计算---一般用迭代法

    -----迭代---将微分方程在区间

    进行积分,然后函数f进行近似,即可得到迭代方程-----迭代方程收敛性?由函数关于y满足利普希茨条件,可以推出迭代公式收敛。
    • 局部截断误差:假设前n步误差为0,我们计算第n+1步的误差,将次误差称为局部截断误差,且局部误差为
    • p阶精度:由理论证明若局部误差阶的时间复杂度为
      ,则整体误差阶为
      我们称公式精度为p。
    • 显示欧拉法与隐式欧拉法
    评价: ① 精度为1(整体) ②误差阶为2(局部)
    • 梯形方法----将显式欧拉迭代方程与隐式欧拉迭代方程做一下加权平均,构造的计算公式.
    • 改进的欧拉方法---

    思想:因为梯形公式是隐式公式,将显式欧拉公式对下一步的计算值进行预估,用梯形公式对下一步的计算值进行校正.

    评价: ① 精度为2(整体) ②误差阶为3(局部)

    2、龙格-库塔方法

    思想:根据Lagrange中值定理,下一次的计算值可以用前一次的计算值加上h乘以前一个点的斜率;而这个斜率用该区间上的多个点的斜率的算数平均来逼近

    注意:怎么计算任意斜率

    ?第
    个点的斜率
    有微分方程可以算出

    所以要算的

    值,由欧拉法即可算出,
    • 2阶-龙格-库塔方法----类似改进的欧拉法

    根据Lagrange中值定理,下一次的计算值可以用前一次的计算值加上h乘以斜率;而这个斜率用区间上的端点中点的斜率的算数平均来逼近

    其中,

    2阶龙格-库塔方法--局部误差为
    (误差阶为3);整体误差
    (精度为2)
    • 4阶-龙格-库塔方法

    42c8d73178c734fe159702218f07cfb5.png

    k1为区间左端点的斜率;

    k2为区间中点的斜率,通过欧拉法,用斜率k1确定函数f在中点上的斜率k2

    k3也是区间中点的斜率,通过欧拉法,用斜率k2确定函数f在中点上的斜率k3

    k4是区间右端点的斜率,通过欧拉法,用斜率k3确定函数f在端点上的斜率k4

    4阶-龙格-库塔方法----局部误差
    ;
    整体误差为

    2.1 单步法收敛性与稳定性

    • 收敛性: 对任意固定的点,函数y在该点的真实值,随着迭代步数增加,所用公式的计算值都会趋于所产生的近似值都趋于真实值,称该方法收敛
    公式收敛性判别:函数 f 对y满足利普希茨条件(充分条件),则数值微分求解公式是收敛的、
    相容:欧拉法的增量函数与函数 f 相等,则称 欧拉法与初值问题是相容的
    • 稳定性:微分方程数值法在某点的计算值发生细微的扰动
      ,之后的计算值所
      产生的误差不超过
      ,
      则称该方法稳定
    绝对稳定:稳定的微分数值解法中,当某一步计算值有误差时,以后计算值的误差不会扩大,则称这种稳定是绝对稳定。绝对稳定域:就是小区间的步长,使得微分数值公式是绝对稳定,而这些步长构成的区间称为绝对稳定域.

    3、线性多步法

    思想:下一次的计算值等于
    个的计算值
    的算法平均加上步长乘以多个斜率的算数平均
    • 阿当姆斯外插法
    思想:下一次的计算值等于前一次的计算值加上过前
    个的计算值的
    插值函数在区间
    上的积分

    • 阿当姆斯内插法
    思想:下一次的计算值等于前一次的计算值加上过前
    的计算值的插值函数在区间上的积分

    两者区别:下一次计算值在不在迭代公式中....

    展开全文
  • Legendre-Gauss谱配置法解一阶常微分方程初值问题的超收敛性,易利军,孙涛,本文主要研究一阶线性常微分方程初值问题的谱配置法.我们基于Legendre-Gauss点构造了一阶线性常微分方程初值问题的谱配置格式,并通过
  • 解常微分方程初值问题 gsl c 源码分析 过程分析解常微分方程初值问题 gsl c 源码分析 过程分析解常微分方程初值问题 gsl c 源码分析 过程分析解常微分方程初值问题 gsl c 源码分析 过程分析
  • ODE-Tes​​t-Problems:一个MATLAB初值问题套件
  • 常微分方程初值问题的欧拉方法及其改进的欧拉方法的Matlab实现,纪秀浩,,欧拉(Euler)方法及改进的欧拉方法是解决常微分方程初值问题常用的数值解法,但Matlab的工具箱中没有Euler方法的功能函数。本文在简要介
  • 对于松野提出的二元系统,我们将矩阵黎曼-希尔伯特问题公式化为初值问题。 通过解决相关的黎曼-希尔伯特问题,我们可以得到两组分系统的孤子解。 详细研究了一种和两种孤子解决方案。
  • 常态和偏微分方程的时频解通常被认为是一种无效的方法。 与有限差分方法相比,时域的相关扩展被认为会导致许多数值运算... 对于MHD方程,证明了有利的子域缩放,这表明有效解决例如流体力学和MHD中高级初值问题的潜力。
  • FPGA初值问题

    2018-05-29 10:24:41
    信号在未赋值时候的初值与信号类型有关:如果是可以比较大小的整型或者实型,则赋给最小值;如果是不能比较大小的枚举类型,则赋给最左值。声明信号的时候给信号赋了初值,仿真器就会按照这个初值开始仿真,而有些...
    信号在未赋值时候的初值与信号类型有关:如果是可以比较大小的整型或者实型,则赋给最小值;如果是不能比较大小的枚举类型,则赋给最左值。
    声明信号的时候给信号赋了初值,仿真器就会按照这个初值开始仿真,而有些综合器却是不理睬的,实际电路上电后是个随机值,然而有些综合器是敏感的,将会产生相应的锁存器来保证上电后的初值为你设定的值。
    展开全文
  • 常微分方程初值问题数值解法问题一、一阶常微分方程初值问题的有限差分方法与误差分析二、向前Euler法及误差分析1.向前Euler法2.误差分析3.后退Euler法三、改进欧拉公式四、龙格—库塔方法 问题 一阶常微分方程的...

    问题

    一阶常微分方程的初值问题:
    y=f(x,y)y^{'}=f(x,y)
    y(x0)=y0y(x_0)=y_0
    定理一
    设f在区域D=(x,y)axb,yRD={(x,y)|a\leq x\leq b,y\in R}上连续,关于y满足f(x,y1)f(x,y2)Ly1y2,x0[a,b],y0R|f(x,y_1)-f(x,y_2)|\leq L|y_1-y_2|,\forall x_0\in[a,b],y_0\in R(这条件叫做Lipschitz条件)常微分方程的初值问题存在唯一的连续可微解y(x)y(x)

    一、一阶常微分方程初值问题的有限差分方法与误差分析

    只有一些特殊的常微分方程能求解析解,实际问题中主要靠数值解,所谓数值解法,就是寻求解y(x)在一系列离散节点x0<x1<x2......x_0<x_1<x_2......上的近似值y0,y1,y2......y_0,y_1,y_2......
    整体截断误差
    gi=yiy(xi)g_i=|y_i-y(x_i)|
    其中y(xi)y(x_i)就是我们的精确解,yiy_i就是给定计算格式(迭代公式,初值是精确值)之后所计算出来的数值解。
    局部截断误差
    ei=y(xi+1)wi+1e_i=|y(x_{i+1})-w_{i+1}|
    其中wi+1w_{i+1}初值为y(xi)y(x_i) 时迭代出的数值解
    对于某种方法,局部截断误差满足ei=O(hp+1)e_i=O(h^{p+1}),则称该方法具有p阶精度。

    二、向前Euler法及误差分析

    1.向前Euler法

    先设步长相等,大小为h,对常微分方程y=f(x,y)y^{'}=f(x,y)中的倒数用均差近似,即
    y(xi+1)y(xi)hy=f(xi,y(xi))\frac{y(x_{i+1})-y(x_i)}{h}\approx y^{'}=f(x_i,y(x_i))
    若初值已知,利用迭代格式
    {y0=y(x0)yi+1=yi+hf(xi,yi) \begin{cases} y_0=y(x_0)\\ y_{i+1}=y_i+hf(x_i,y_i) \end{cases}
    可逐次算出y1,y2.....y_1,y_2.....

    2.误差分析

    对于精确值做泰勒展开式
    y(xi+1)=y(xi)+hy(xi)+h22y(c)y(x_{i+1})=y(x_i)+hy^{'}(x_i)+\frac{h^2}{2}y^{''}(c)其中c(xi,xi+1)c \in(x_i,x_{i+1}),其中y(xi)=f(xi,y(xi))y^{'}(x_i)=f(x_i,y(x_i))
    对于欧拉法的迭代格式,由局部截断误差定义可得
    yi+1=y(xi)+hy(xi)y_{i+1}=y(x_i)+hy^{'}(x_i)
    局部截断误差ei=h22y(c)e_i=\frac{h^2}{2}y^{''}(c)

    3.后退Euler法

    通过利用均差近似倒数y(xi+1)y^{'}(x_{i+1})

    y(xi+1)y(xi)hy(xi+1)=f(xi+1,y(xi+1))\frac{y(x_{i+1})-y(x_i)}{h}\approx y^{'}(x_{i+1})=f(x_{i+1},y(x_{i+1}))
    因此后退欧拉法的递推公式为
    yi+1=yi+hf(xi+1,yi+1)y_{i+1}=y_i+hf(x_{i+1},y_{i+1})(1式)

    相比欧拉法,后退欧拉法的递推公式并不能直接进行计算,而需要解方程,即此公式是隐式的,而欧拉法的递推公式是可以直接计算的,即为显式的。隐式方程通常用迭代法求解,而迭代过程的实质是逐步隐式化。
    {yi+10=yi+hf(xi,yi)yi+11=yi+hf(xi,yi+10)......yi+1k+1=yi+hf(xi,yi+1k)2 \begin{cases} y_{i+1}^{0}=y_i+hf(x_i,y_i)\\ y_{i+1}^{1}=y_i+hf(x_i,y_{i+1}^{0}) \\ ......\\ y_{i+1}^{k+1}=y_i+hf(x_i,y_{i+1}^{k}) (2式) \end{cases}
    由于f(x,y)满足Lipschitz条件,利用(1)式减去(2)式得到
    yi+1k+1yi+1=h(f(xi,yi+1k)hf(xi+1,yi+1))hLyi+1kyi+1|y_{i+1}^{k+1}-y_{i+1}|=h(f(x_i,y_{i+1}^{k})-hf(x_{i+1},y_{i+1}))\leq hL|y_{i+1}^{k}-y_{i+1}|
    hL<1hL<1则迭代法收敛到解yi+1y_{i+1}

    三、改进欧拉公式

    补充:梯形方法
    yi+1=yi+h2(f(xi+1,yi+1)+f(xi,yi))y_{i+1}=y_i+\frac{h}{2}(f(x_{i+1},y_{i+1})+f(x_{i},y_{i}))

    先用欧拉法求得一个初步的近似值yi+1\overline{y}_{i+1},称为预报值,然后用它替代梯形法右端的yi+1y_{i+1},得到左端校正值yi+1{y}_{i+1},可以校正n次,但是改进欧拉法中,我们只校正一次,这样建立的预报-校正系统称为改进的欧拉格式:
    {yi+1=yi+hf(xi,yi)yi+1=yi+h2(f(xi+1,yi+1)+f(xi,yi)) \begin{cases} \overline{y}_{i+1}=y_i+hf(x_i,y_i)\\ y_{i+1}=y_i+\frac{h}{2}(f(x_{i+1},\overline{y}_{i+1})+f(x_{i},y_{i})) \end{cases}
    也可以写成下面一个形式:
    {yp=yn+hf(xn,yn)yc=yn+hf(xn,yp)yn+1=12(yp+yc) \begin{cases} {y}_{p}=y_n+hf(x_n,y_n)\\ {y}_{c}=y_n+hf(x_n,y_p)\\ y_{n+1}=\frac{1}{2}(y_p+y_c) \end{cases}

    四、单步法局部截断误差与阶

    初值问题y=f(x,y)y^{'}=f(x,y)y(x0)=y0y(x_0)=y_0的单步法可用一般形式表示为
    yn+1=yn+hφ(xnynyn+1h)y_{n+1}=y_{n}+h\varphi(x_n,y_n,y_{n+1},h)
    其中φ(xnynyn+1h)\varphi(x_n,y_n,y_{n+1},h)称为增量函数
    显式单步法的表示形式
    yn+1=yn+hφ(xnynh)y_{n+1}=y_{n}+h\varphi(x_n,y_n,h)
    例如:对欧拉法φ(xnynh)=f(x,y)\varphi(x_n,y_n,h)=f(x,y)
    对于显式单步法的局部截断误差
    Tn+1=y(xn+1)y(xn)hφ(xny(xn)h)T_{n+1}=y(x_{n+1})-y(x_{n})-h\varphi(x_n,y(x_n),h)

    五、龙格—库塔方法

    1.定义

    对于方程y=f(x,y)y^{'}=f(x,y)的等价积分形式

    y(xn+1)y(xn)=xnxn+1f(x,y(x)) dxy(x_{n+1})-y(x_{n})=\int_{x_{n}}^{x_{n+1}} {f(x,y(x))} \ dx

    方程右端可用求积公式表示为
    xnxn+1f(x,y(x)) dxhi=1rcif(xn+λih,y(xn+λih))\int_{x_{n}}^{x_{n+1}} {f(x,y(x))} \ dx \approx h\sum_{i=1}^rc_if(x_n+\lambda_ih,y(x_n+\lambda_ih))
    一般来说点数r越多精度越高,上式右端相当于增量函数φ(xnynh)\varphi(x_n,y_n,h),为了得到便于计算的显示方法,将公式表示为
    yn+1=yn+hφ(xn,yn,h)y_{n+1}=y_n+h\varphi(x_n,y_n,h)
    其中
    φ(xn,yn,h)=i=1nciKi\varphi(x_n,y_n,h)=\sum_{i=1}^n c_iK_i
    K1=f(xn,yn)K_1=f(x_n,y_n)
    K2=f(xn+λ2h,yn+hu21K1)λ2=hK_2=f(x_n+\lambda_2h,y_n+hu_{21}K_1),\lambda_2=h

    Ki=f(xn+λih,yn+h×j=1i1uijKj)λi=j=1i1uijK_i=f(x_n+\lambda_ih,y_n+h\times \sum_{j=1}^{i-1} u_{ij}K_j),\lambda_i=\sum_{j=1}^{i-1} u_{ij}
    将此方法称为龙格库r级塔显示方法

    2.常用的龙格库塔方法

    常用二阶显式龙格库塔方法
    yn+1=yn+hK2y_{n+1}=y_n+hK_2
    K1=f(xn,yn)K_1=f(x_n,y_n)
    K2=f(xn+h2,yn+h2K1)K_2=f(x_n+\frac{h}{2},y_n+\frac{h}{2}K_1)
    常用三阶
    yn+1=yn+h6(K1+c2K2)y_{n+1}=y_n+\frac{h}{6}(K_1+c2K_2)
    K1=f(xn,yn)K_1=f(x_n,y_n)
    K2=f(xn+h2,yn+h2K1)K_2=f(x_n+\frac{h}{2},y_n+\frac{h}{2}K_1)
    K3=f(xn+h,ynhK1+2hK2)K_3=f(x_n+h,y_n-hK_1+2hK_2)
    常用四阶(记下来,要考,哈哈哈,matlab计算内核所在)
    yn+1=yn+h6(K1+2K2+2K3+K4)y_{n+1}=y_n+\frac{h}{6}(K_1+2K_2+2K_3+K_4)
    K1=f(xn,yn)K_1=f(x_n,y_n)
    K2=f(xn+h2,yn+h2K1)K_2=f(x_n+\frac{h}{2},y_n+\frac{h}{2}K_1)
    K3=f(xn+h2,yn+h2K2)K_3=f(x_n+\frac{h}{2},y_n+\frac{h}{2}K_2)
    K4=f(xn+h,yn+hK3)K_4=f(x_n+h,y_n+hK_3)

    六、单步法的收敛性与稳定性

    1.收敛性与相容性

    定义:若一种数值方法(如单步法)对于固定的xn=x0+nhx_n=x_0+nh,当h0h\rightarrow 0 ,有yn=y(xn)y_n=y(x_n),则称该方法收敛。
    定理:假设单步法具有p阶精度,且增量函数φ(xyh)\varphi(x,y,h)满足利普希茨条件
    φ(xyh)φ(xyh)Lφyy|\varphi(x,y,h)-\varphi(x,\overline{y},h)|\leq L_{\varphi}|y-\overline{y}|
    又设初值准确,则其整体截断误差
    y(xn)yn=O(hp)y(x_n)-y_n=O(h^p)
    定义:若单步法yn+1=yn+hφ(xn,yn,h)y_{n+1}=y_n+h{\varphi(x_n,y_n,h)}的增量函数满足φ(x,y,0)=f(x,y)\varphi(x,y,0)=f(x,y),则称单步法与初值问题相容(前述的单步法是用了泰勒展开式略去高阶项近似,有用求积公式离散得到的数值方法,相容性指数值方法逼近微分方程,在h0h\rightarrow0时,可得到y(x)=f(x,y)y^{'}(x)=f(x,y)

    2.绝对稳定性与绝对稳定域

    定义:若一种数值方法在节点值yny_n上大小扰动为δ\delta,于以后的节点值ym(m>n)y_m(m>n)上产生的偏差均不超过δ\delta,则称该方法是稳定的
    定义:对于模型方程y=λyy^{'}=\lambda y,使用单步法解模型方程yn+1=E(λh)yny_{n+1}=E(\lambda h)y_n,若得到E(hλ)<1|E(h\lambda )|<1,则称该方法是绝对稳定的(以此可以来确定步长)。
    常用:对于四阶龙格库塔方法:2.78<hλ<0-2.78<h\lambda<0,即0<h<2.78/λ0<h<-2.78/\lambda

    展开全文
  • 使用插值搭配方法导出了A稳定的二阶导数方法... 所获得的连续法被用来生成主要方法和补充方法,以通过边界值技术解决常微分方程的初值问题。 通过这些方法获得的数值结果表明,该新方法可以与文献中的现有方法相抗衡。
  • 常微分方程初值问题
  • (二)要求 用编程语言实现用改进的欧拉(Euler)公式求解常微分方程初值问题、用四阶龙格-库塔(Runge-Kutta)方法求解常微分方程初值问题的程序。 二、示例 1、问题用改进的欧拉(Euler)公式求解常微分方程初值问题...
  • 利用同伦摄动法对具有初值问题的改进的Zakharov-Kuznetsov方程进行了数值研究。 得到了修正的Zakharov-Kuznetsov方程的解析近似解。 选择初始值的形式,给出了单个孤立波,两个孤立波和有理解,其中一些用曲线图表示...
  • 实验五 使用Euler方法和改进的Euler方法求解初值问题 实验目的:用Euler方法和改进的Euler方法求解初值问题。 实验内容:用改进欧拉方法解初值问题 取步长h=0.1计算,并与准确值 y = -x-1+2ex相比较。第一行输出0.1...
  • 在本文中,标准同伦分析方法应用于线性和非线性情况下具有某些不连续性的二阶初值问题。 为了显示求解结果与精确求解相比的高精度,使用标准同伦分析方法对积分方程进行迭代,对数值结果进行了辛普森规则求解,对...
  • 实验六 使用Euler方法和改进的Euler方法求解初值问题 实验目的:用Euler方法和改进的Euler方法求解初值问题。 实验内容:用改进欧拉方法解初值问题 取步长h=0.1计算,并与准确值 y = -x-1+2ex相比较。第一行输出0.1...
  • 改进的欧拉法计算常微分方程初值问题

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,016
精华内容 1,206
关键字:

初值问题