精华内容
下载资源
问答
  • 绪论 舍入误差 由于计算机字长是有限的,因此在存储数据时便可能不可避免地丢失部分信息,这便是舍入误差。 截断误差 由于计算机必须在有限的时间内得到运行结果,因此无穷的运算过程必须截断为有限的运算...

    仅供大致参考,有许多定义存在不严谨的地方;不同学校的考察重点自然是不同的

    第一章 绪论

    舍入误差

    由于计算机字长是有限的,因此在存储数据时便可能不可避免地丢失部分信息,这便是舍入误差。


    截断误差

    由于计算机必须在有限的时间内得到运行结果,因此无穷的运算过程必须截断为有限的运算过程,由此产生截断误差。


    绝对误差

    x ∗ x^{*} x为真值 x x x的近似值,那么绝对误差就是这两者的绝对差距,即: e ∗ = x ∗ − x e^{*} = x^{*} - x e=xx


    相对误差

    相对误差的相对指的是其考虑了真值 x x x。当然,由于真值 x x x实际是未知的,因此有: e r ∗ = e ∗ x ≈ e ∗ x ∗ e_{r}^{*}=\frac{e^{*}}{x} \approx \frac{e^{*}}{x^{*}} er=xexe


    绝对误差限

    ∣ e ∗ ∣ |e^{*}| e的上限


    相对误差限

    ∣ e r ∗ ∣ |e_{r}^{*}| er的上限


    误差限的计算

    记两个近似数 x 1 ∗ x_{1}^{*} x1 x 2 ∗ x_{2}^{*} x2,其误差限分别为 ε ( x 1 ∗ ) \varepsilon(x_{1}^{*}) ε(x1) ε ( x 2 ∗ ) \varepsilon(x_{2}^{*}) ε(x2)。那么对其进行加减乘除运算分别满足如下规律: ε ( x 1 ∗ ± x 2 ∗ ) = ε ( x 1 ∗ ) + ε ( x 2 ∗ ) \varepsilon\left(x_{1}^{*} \pm x_{2}^{*}\right)=\varepsilon\left(x_{1}^{*}\right)+\varepsilon\left(x_{2}^{*}\right) ε(x1±x2)=ε(x1)+ε(x2) ε ( x 1 ∗ x 2 ∗ ) ≈ ∣ x 1 ∗ ∣ ε ( x 2 ∗ ) + ∣ x 2 ∗ ∣ ε ( x 1 ∗ ) \varepsilon\left(x_{1}^{*} x_{2}^{*}\right) \approx\left|x_{1}^{*}\right| \varepsilon\left(x_{2}^{*}\right)+\left|x_{2}^{*}\right| \varepsilon\left(x_{1}^{*}\right) ε(x1x2)x1ε(x2)+x2ε(x1) ε ( x 1 ∗ / x 2 ∗ ) ≈ ∣ x 2 ∗ ∣ ε ( x 2 ∗ ) + ∣ x 2 ∗ ∣ ( x 1 ∗ ) ∣ x 2 ∗ ∣ 2 \varepsilon\left(x_{1}^{*} / x_{2}^{*}\right) \approx \frac{\left|x_{2}^{*}\right| \varepsilon\left(x_{2}^{*}\right)+\left|x_{2}^{*}\right|\left(x_{1}^{*}\right)}{\left|x_{2}^{*}\right|^{2}} ε(x1/x2)x22x2ε(x2)+x2(x1)


    有效数字

    如果 x ∗ x^* x的绝对误差限是它的某一数位的半个单位,并且从 x ∗ x^* x左起第一个非零数字到该数位共有 n n n位,则称这 n n n个数字为 x x x的有效数字,也称用 x ∗ x^* x近似 x x x时具有 n n n位有效数字。

    一般地,凡是由精确值经过四舍五入得到的近似值,其绝对误差限等于该近似值末位的半个单位。


    秦九韶算法

    对于多项式 f ( x ) = a n x n + a n − 1 x n − 1 + ⋯ + a 1 x + a 0 f(x)=a_{n} x^{n}+a_{n-1} x^{n-1}+\cdots+a_{1} x+a_{0} f(x)=anxn+an1xn1++a1x+a0,逐次去提取个 x x x出来: f ( x ) = ( ( a n x n − 2 + a n − 1 x n − 3 + ⋯ a 3 x + a 2 ) x + a 1 ) x + a 0 ⋮ = ( … ( ( a n x + a n − 1 ) x + a n − 2 ) x + ⋯ + a 1 ) x + a 0 \begin{gathered} f(x)=\left(\left(a_{n} x^{n-2}+a_{n-1} x^{n-3}+\cdots a_{3} x+a_{2}\right) x+a_{1}\right) x+a_{0} \\ \vdots \\ =\left(\ldots\left(\left(a_{n} x+a_{n-1}\right) x+a_{n-2}\right) x+\cdots+a_{1}\right) x+a_{0} \end{gathered} f(x)=((anxn2+an1xn3+a3x+a2)x+a1)x+a0=(((anx+an1)x+an2)x++a1)x+a0 然后从最里面的括号往外算即可,可以显著减少乘法运算量。


    例1

    设3.1415是 π \pi π的近似值,其有效数字位数是多少
    注意最后一位5不是精确的(四舍五入应为6),而从3到1一共有4个数字,因此位数为4


    例2

    x=3.100是某个精确值四舍五入得到的近似值,其有效数字位数是多少
    由于是四舍五入,因此最后一位也是精确的,从3到最后一个0有4个数字,因此位数为4


    例3

    x > 0 x>0 x>0 x x x的相对误差为 δ \delta δ,求 ln ⁡ x \ln x lnx的误差。
    这里的误差应指绝对误差,那么就是求 ln ⁡ x − ln ⁡ x ∗ = ln ⁡ x x ∗ \ln x-\ln x^{*} = \ln \frac{x}{x^{*}} lnxlnx=lnxx
    现在考虑怎么把这个式子继续给算下去。由于我们相对误差是知道的,也就是有: x − x ∗ x ∗ = δ \frac{x-x^{*}}{x^{*}} = \delta xxx=δ 那么接下来把左边这个式子凑出来就行了,有: ln ⁡ x − ln ⁡ x ∗ = ln ⁡ x x ∗ = ln ⁡ x − x ∗ + x ∗ x ∗ = ln ⁡ ( δ + 1 ) \ln x-\ln x^{*}=\ln \frac{x}{x^{*}}=\ln \frac{x-x^{*}+x^{*}}{x^{*}}=\ln (\delta+1) lnxlnx=lnxx=lnxxx+x=ln(δ+1) 取极限,有 ln ⁡ ( δ + 1 ) ≈ δ \ln (\delta+1) \approx \delta ln(δ+1)δ,即 ln ⁡ x \ln x lnx的误差的误差仍为 δ \delta δ


    例4

    求下列各近似值的误差限:  (i)  x 1 ∗ + x 2 ∗ + x 4 ∗ ;  (ii)  x 1 ∗ ⋅ x 2 ∗ ⋅ x 3 ∗ ;  (iii)  x 2 ∗ / x 4 ∗ \text { (i) } x_{1}^{*}+x_{2}^{*}+x_{4}^{*} ; \text { (ii) } x_{1}^{*} \cdot x_{2}^{*} \cdot x_{3}^{*} ; \text { (iii) } x_{2}^{*} / x_{4}^{*}  (i) x1+x2+x4; (ii) x1x2x3; (iii) x2/x4 其中 x 1 ∗ = 1.1021 , x 2 ∗ = 0.031 , x 3 ∗ = 385.6 , x 4 ∗ = 56.430 x_{1}^{*}=1.1021, x_{2}^{*}=0.031, x_{3}^{*}=385.6, x_{4}^{*}=56.430 x1=1.1021,x2=0.031,x3=385.6,x4=56.430
    考虑代入上文提到的误差限计算公式,有:
    e ∗ ( x 1 ∗ + x 2 ∗ + x 4 ∗ ) ⩽ e ( x 1 ∗ ) + e ( x 2 ∗ ) + e ( x 4 ∗ ) = 1 2 × 1 0 − 4 + 1 2 × 1 0 − 3 + 1 2 × 1 0 − 3 ⩽ 1.052 × 1 0 − 3 \begin{aligned} e^{*}\left(x_{1}^{*}+x_{2}^{*}+x_{4}^{*}\right) & \leqslant e\left(x_{1}^{*}\right)+e\left(x_{2}^{*}\right)+e\left(x_{4}^{*}\right) \\ &=\frac{1}{2} \times 10^{-4}+\frac{1}{2} \times 10^{-3}+\frac{1}{2} \times 10^{-3} \\ & \leqslant 1.052 \times 10^{-3} \end{aligned} e(x1+x2+x4)e(x1)+e(x2)+e(x4)=21×104+21×103+21×1031.052×103 e ∗ ( x 1 ∗ ⋅ x 2 ∗ ⋅ x 3 ∗ ) ≈ x 2 ∗ ⋅ x 3 ∗ ( x 1 − x 1 ∗ ) + x 1 ∗ ⋅ x 3 ∗ ⋅ ( x 2 − x 2 ∗ ) + x 1 ∗ ⋅ x 2 ∗ ( x 3 − x 3 ∗ ) ≈ 0.215 \begin{array}{l} \left.e^{*}(x_{1}^{*} \cdot x_{2}^{*} \cdot x_{3}^{*}\right) \\ \approx x_{2}^{*} \cdot x_{3}^{*}\left(x_{1}-x_{1}^{*}\right)+x_{1}^{*} \cdot x_{3}^{*} \cdot\left(x_{2}-x_{2}^{*}\right)+x_{1}^{*} \cdot x_{2}^{*}\left(x_{3}-x_{3}^{*}\right) \\ \approx 0.215 \end{array} e(x1x2x3)x2x3(x1x1)+x1x3(x2x2)+x1x2(x3x3)0.215 e ∗ ( x 2 ∗ / x 4 ∗ ) ⩽ ∣ 1 x 4 ∗ ( x 2 − x 2 ∗ ) − x 2 ∗ ( x 4 ∗ ) 2 ( x 4 − x 4 ∗ ) ∣ = ∣ x 2 ∗ x 4 ∗ e r ∗ ( x 2 ) − x 2 ∗ x 4 ∗ e r ∗ ( x 4 ) ∣ ⩽ ∣ x 2 ∗ x 4 ∗ ∣ [ ∣ e 1 ∗ ( x 2 ) ∣ + e r ∗ ( x 4 ) ∣ ] = 0.031 56.430 [ 1 2 × 1 0 − 3 0.031 + 1 2 × 1 0 − 3 56.430 ] ⩽ 1 0 − 5 \begin{aligned} e^{*}\left(x_{2}^{*} / x_{4}^{*}\right) & \leqslant\left|\frac{1}{x_{4}^{*}}\left(x_{2}-x_{2}^{*}\right)-\frac{x_{2}^{*}}{\left(x_{4}^{*}\right)^{2}}\left(x_{4}-x_{4}^{*}\right)\right| \\ &=\left|\frac{x_{2}^{*}}{x_{4}^{*}} e_{r}^{*}\left(x_{2}\right)-\frac{x_{2}^{*}}{x_{4}^{*}} e_{r}^{*}\left(x_{4}\right)\right| \\ & \leqslant \mid \frac{x_{2}^{*}}{x_{4}^{*}} \mid\left[\left|e_{1}^{*}\left(x_{2}\right)\right|+e_{r}^{*}\left(x_{4}\right) \mid\right] \\ &=\frac{0.031}{56.430}\left[\frac{\frac{1}{2} \times 10^{-3}}{0.031}+\frac{\frac{1}{2} \times 10^{-3}}{56.430}\right] \\ & \leqslant 10^{-5} \end{aligned} e(x2/x4)x41(x2x2)(x4)2x2(x4x4)=x4x2er(x2)x4x2er(x4)x4x2[e1(x2)+er(x4)]=56.4300.031[0.03121×103+56.43021×103]105


    例5

    S = 1 2 g t 2 S=\frac{1}{2} g t^{2} S=21gt2,假定 g g g是准确的,而对 t t t的测量有0.1秒的误差,证明当t增大时 S S S的绝对误差增大,而相对误差却减小。
    绝对误差 e ( S ) = S − S ∗ = g t ( t − t ∗ ) = g t e ( t ) e(S)=S-S^{*}=g t\left(t-t^{*}\right)=g t e(t) e(S)=SS=gt(tt)=gte(t) 相对误差
    e r ( S ) = S − S ∗ S = g t ( t − t ∗ ) 1 2 g t 2 = 2 e ( t ) t e_{r}(S)=\frac{S-S^{*}}{S}=\frac{g t\left(t-t^{*}\right)}{\frac{1}{2} g t^{2}}=\frac{2 e(t)}{t} er(S)=SSS=21gt2gt(tt)=t2e(t)由于 e ( t ) e(t) e(t)为定值,因此t增大时绝对误差变大,相对误差变小。


    例6

    用秦九韶算法求多项式 p ( x ) = 3 x 5 − 2 x 3 + x + 7 p(x)=3 x^{5}-2 x^{3}+x+7 p(x)=3x52x3+x+7 x = 3 x=3 x=3处的值。
    根据秦九韶算法,有 p ( x ) = ( ( 3 x 2 − 2 ) x 2 + 1 ) x + 7 p(x) = ((3x^2-2)x^2+1)x+7 p(x)=((3x22)x2+1)x+7,代入可得值为685。


    例7

    用迭代法 x k + 1 = 1 1 + x k ( k = 0 , 1 , ⋯   ) x_{k+1}=\frac{1}{1+x_{k}}(k=0,1, \cdots) xk+1=1+xk1(k=0,1,)求方程 x 2 + x − 1 = 0 x^{2}+x-1=0 x2+x1=0的正根 x ∗ = − 1 + 5 2 x^{*}=\frac{-1+\sqrt{5}}{2} x=21+5 ,取 x 0 = 1 x_{0}=1 x0=1。如果使用加权平均迭代公式: x k + 1 = ω x k + ( 1 − ω ) 1 1 + x k x_{k+1}=\omega x_{k}+(1-\omega) \frac{1}{1+x_{k}} xk+1=ωxk+(1ω)1+xk1 验证当 ω = 7 25 \omega=\frac{7}{25} ω=257时,采用该加权平均公式比迭代法收敛快。
    所谓收敛快不快看的就是有效数字的位数。那么先看原始的迭代法,有:
    x 0 = 1 , x 1 = 0.5 , x 2 = 0.667 , x 3 = 0.6 , x 4 = 0.625 x_{0}=1,x_{1}=0.5,x_{2}=0.667,x_{3}=0.6,x_{4}=0.625 x0=1x1=0.5x2=0.667x3=0.6x4=0.625。可以看到直到 x 4 x_{4} x4的有效数字位数仍只有1;
    而对于加权平均迭代法,有 x 0 = 1 , x 1 = 0.64 , x 2 = 0.618024 , x 3 = 0.618034 , x 4 = 0.618034 x_{0}=1,x_{1}=0.64,x_{2}=0.618024,x_{3}=0.618034,x_{4}=0.618034 x0=1x1=0.64x2=0.618024x3=0.618034x4=0.618034。可以看到在 x 3 x_{3} x3时有效数字便有5位,收敛更快。

    展开全文
  • 常微分方程初值问题数值解法 例题1(课后习题3) 用梯形法解初值问题{y′+y=0y(0)=1 \left\{\begin{array}{l} y^{\prime}+y=0 \\ y(0)=1 \end{array}\right. {y′+y=0y(0)=1​ 证明其近似解为yn=[2−h2+h]ny_{n...

    仅供大致参考,有许多定义存在不严谨的地方;不同学校的考察重点自然是不同的

    第九章 常微分方程初值问题数值解法

    常微分方程的初值问题

    { d y   d x = f ( x , y ) y ( x 0 ) = y 0 \left\{\begin{array}{l} \frac{\mathrm{d} y}{\mathrm{~d} x}=f(x, y) \\ y\left(x_{0}\right)=y_{0} \end{array}\right. { dxdy=f(x,y)y(x0)=y0 即,我们要求解函数 y y y的数学表达式,然而我们目前只有 y y y在某个点(初始点)的值(初值),以及 y y y的导数 y ′ y^{\prime} y的表达式,而 y ′ y^{\prime} y式中本身是包含 y y y的。为此需要设计相应的数值计算方法进行近似。


    显式Euler法

    y n + 1 = y n + h f ( x n , y n ) y_{n+1}=y_{n}+h f\left(x_{n}, y_{n}\right) yn+1=yn+hf(xn,yn)


    隐式Euler法

    y n + 1 = y n + h f ( x n + 1 , y n + 1 ) y_{n+1}=y_{n}+h f\left(x_{n+1}, y_{n+1}\right) yn+1=yn+hf(xn+1,yn+1)


    梯形公式

    y n + 1 = y n + h 2 [ f ( x n , y n ) + f ( x n + 1 , y n + 1 ) ] y_{n+1}=y_{n}+\frac{h}{2}\left[f\left(x_{n}, y_{n}\right)+f\left(x_{n+1}, y_{n+1}\right)\right] yn+1=yn+2h[f(xn,yn)+f(xn+1,yn+1)]


    改进Euler法

    y n + 1 = y n + h 2 [ f ( x n , y n ) + f ( x n + 1 , y n + h f ( x n , y n ) ) ] y_{n+1}=y_{n}+\frac{h}{2}\left[f\left(x_{n}, y_{n}\right)+f\left(x_{n+1}, y_{n}+h f\left(x_{n}, y_{n}\right)\right)\right] yn+1=yn+2h[f(xn,yn)+f(xn+1,yn+hf(xn,yn))]


    龙格-库塔法

    { y n + 1 = y n + h ( c 1 K 1 + c 2 K 2 + ⋯ + c r K r ) ( n = 0 , 1 , 2 , ⋯   ) K 1 = f ( x n , y n ) K i = f ( x n + a i h , y n + h ∑ j = 1 i − 1 b i j K j ) ( i = 2 , 3 , ⋯   , r ) \left\{\begin{array}{l} y_{n+1}=y_{n}+h\left(c_{1} K_{1}+c_{2} K_{2}+\cdots+c_{r} K_{r}\right) \quad(n=0,1,2, \cdots) \\ K_{1}=f\left(x_{n}, y_{n}\right) \\ K_{i}=f\left(x_{n}+a_{i} h, y_{n}+h \sum_{j=1}^{i-1} b_{i j} K_{j}\right) \quad(i=2,3, \cdots, r) \end{array}\right. yn+1=yn+h(c1K1+c2K2++crKr)(n=0,1,2,)K1=f(xn,yn)Ki=f(xn+aih,yn+hj=1i1bijKj)(i=2,3,,r)


    龙格-库塔法&二阶中点格式

    { y n + 1 = y n + h K 2 ( n = 0 , 1 , 2 , ⋯   ) K 1 = f ( x n , y n ) K 2 = f ( x n + 1 2 h , y n + 1 2 h K 1 ) \left\{\begin{array}{l} y_{n+1}=y_{n}+h K_{2} \quad(n=0,1,2, \cdots) \\ K_{1}=f\left(x_{n}, y_{n}\right) \\ K_{2}=f\left(x_{n}+\frac{1}{2} h, y_{n}+\frac{1}{2} h K_{1}\right) \end{array}\right. yn+1=yn+hK2(n=0,1,2,)K1=f(xn,yn)K2=f(xn+21h,yn+21hK1)


    龙格-库塔法&二阶休恩格式

    { y n + 1 = y n + h 4 ( K 1 + 3 K 2 ) ( n = 0 , 1 , 2 , ⋯   ) K 1 = f ( x n , y n ) K 2 = f ( x n + 2 3 h , y n + 2 3 h K 1 ) \left\{\begin{array}{l} y_{n+1}=y_{n}+\frac{h}{4}\left(K_{1}+3 K_{2}\right) \quad(n=0,1,2, \cdots) \\ K_{1}=f\left(x_{n}, y_{n}\right) \\ K_{2}=f\left(x_{n}+\frac{2}{3} h, y_{n}+\frac{2}{3} h K_{1}\right) \end{array}\right. yn+1=yn+4h(K1+3K2)(n=0,1,2,)K1=f(xn,yn)K2=f(xn+32h,yn+32hK1)


    龙格-库塔法&四阶

    { y n + 1 = y n + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 ) ( n = 0 , 1 , 2 , ⋯   ) K 1 = f ( x n , y n ) K 2 = f ( x n + h 2 , y n + h 2 K 1 ) K 3 = f ( x n + h 2 , y n + h 2 K 2 ) K 4 = f ( x n + h , y n + h K 3 ) \left\{\begin{array}{l} y_{n+1}=y_{n}+\frac{h}{6}\left(K_{1}+2 K_{2}+2 K_{3}+K_{4}\right)(n=0,1,2, \cdots) \\ K_{1}=f\left(x_{n}, y_{n}\right) \\ K_{2}=f\left(x_{n}+\frac{h}{2}, y_{n}+\frac{h}{2} K_{1}\right) \\ K_{3}=f\left(x_{n}+\frac{h}{2}, y_{n}+\frac{h}{2} K_{2}\right) \\ K_{4}=f\left(x_{n}+h, y_{n}+h K_{3}\right) \end{array}\right. yn+1=yn+6h(K1+2K2+2K3+K4)(n=0,1,2,)K1=f(xn,yn)K2=f(xn+2h,yn+2hK1)K3=f(xn+2h,yn+2hK2)K4=f(xn+h,yn+hK3)


    单步法,收敛性

    单步法的统一形式为: y n + 1 = y n + h φ ( x n , y n , y n + 1 , h ) y_{n+1}=y_{n}+h \varphi\left(x_{n}, y_{n}, y_{n+1}, h\right) yn+1=yn+hφ(xn,yn,yn+1,h) 如果不含 y n + 1 y_{n+1} yn+1,则称为显示单步法,否则为隐式单步法。

    如果对于 x n = x 0 + n h x_{n}=x_{0}+n h xn=x0+nh,当 h → 0 h \rightarrow 0 h0时有 y n → y ( x n ) y_{n} \rightarrow y\left(x_{n}\right) yny(xn),则称该数值方法是收敛的。


    局部截断误差,阶,精度

    y ( x ) y(x) y(x)为微分方程的精确解,那么有精确解减去数值解: T n + 1 = y ( x n + 1 ) − y n + 1 = y ( x n + 1 ) − y ( x n ) − h φ ( x n , y ( x n ) , y ( x n + 1 ) , h ) \begin{aligned} T_{n+1} &=y\left(x_{n+1}\right)-y_{n+1} \\ &=y\left(x_{n+1}\right)-y\left(x_{n}\right)-h \varphi\left(x_{n}, y\left(x_{n}\right), y\left(x_{n+1}\right), h\right) \end{aligned} Tn+1=y(xn+1)yn+1=y(xn+1)y(xn)hφ(xn,y(xn),y(xn+1),h) T n + 1 T_{n+1} Tn+1为单步法的局部截断误差。


    泰勒展开式

    研究局部截断误差的有关问题,基本上都是离不开泰勒展开。一般我们在处理局部截断误差精度时会去把精确解 y ( x n + 1 ) y(x_{n+1}) y(xn+1)展开,即: y ( x n + 1 ) = y ( x n + h ) = y ( x n ) + y ′ ( x n ) h + y ′ ′ ( x n ) 2 ! h 2 + y ′ ′ ′ ( x n ) 3 ! h 3 + ⋯ y\left(x_{n+1}\right)=y\left(x_{n}+h\right)=y\left(x_{n}\right)+y^{\prime}\left(x_{n}\right) h+\frac{y^{\prime \prime}\left(x_{n}\right)}{2 !} h^{2}+\frac{y^{\prime \prime \prime}\left(x_{n}\right)}{3 !} h^{3}+\cdots y(xn+1)=y(xn+h)=y(xn)+y(xn)h+2!y(xn)h2+3!y(xn)h3+ 或者把 f ( x n + h , y n + k ) f(x_{n}+h,y_{n}+k) f(xn+h,yn+k)给展开: f ( x n + h , y n + k ) = f ( x n , y n ) + ∂ f ( x n , y n ) ∂ x h + ∂ f ( x n , y n ) ∂ y k + 1 2 ! [ ∂ 2 f ( x n , y n ) ∂ x 2 h 2 + 2 ∂ 2 f ( x n , y n ) ∂ x ∂ y h k + ∂ 2 f ( x n , y n ) ∂ y 2 k 2 ] + ⋯ \begin{aligned} f\left(x_{n}+h, y_{n}+k\right) &=f\left(x_{n}, y_{n}\right)+\frac{\partial f\left(x_{n}, y_{n}\right)}{\partial x} h+\frac{\partial f\left(x_{n}, y_{n}\right)}{\partial y} k \\ +& \frac{1}{2 !}\left[\frac{\partial^{2} f\left(x_{n}, y_{n}\right)}{\partial x^{2}} h^{2}+2 \frac{\partial^{2} f\left(x_{n}, y_{n}\right)}{\partial x \partial y} h k+\frac{\partial^{2} f\left(x_{n}, y_{n}\right)}{\partial y^{2}} k^{2}\right]+\cdots \end{aligned} f(xn+h,yn+k)+=f(xn,yn)+xf(xn,yn)h+yf(xn,yn)k2!1[x22f(xn,yn)h2+2xy2f(xn,yn)hk+y22f(xn,yn)k2]+


    例1

    对于初值问题: { y ′ = − 1000 ( y − g ( x ) ) + g ′ ( x ) y ( 0 ) = g ( 0 ) \left\{\begin{array}{c} y^{\prime}=-1000(y-g(x))+g^{\prime}(x) \\ y(0)=g(0) \end{array}\right. {y=1000(yg(x))+g(x)y(0)=g(0) 其中 g ( x ) g(x) g(x)为已知函数,其解 y ( x ) = g ( x ) y(x)=g(x) y(x)=g(x)
    1)若用显式Euler法求解,从稳定性考虑步长应在什么范围内选取
    2)若用隐式Euler法求解,从稳定性考虑,步长有没有限制,为什么
    3)若g(x)为不超过一次的多项式,用显式Euler法求解此问题时,从精确阶考虑,步长的选择有无限制,为什么

    1) 根据绝对稳定的定义,有 ∣ 1 + h λ ∣ ≤ 1 |1+h \lambda| \leq 1 1+hλ1,而 λ = − 1000 \lambda=-1000 λ=1000(y之前的系数),解得 0 < h ≤ 0.002 0 < h \leq 0.002 0<h0.002
    2) 隐式欧拉法的绝对稳定域为 ( 0 , ∞ ) (0,\infty) (0,),因此无限制
    3) 对于显式Euler法,可以写出迭代公式如下: y n + 1 = y n + h [ − 1000 ( y n − g ( x n ) ) + g ′ ( x n ) ] y_{n+1}=y_n+h[-1000(y_n-g(x_n))+g^{\prime}(x_n)] yn+1=yn+h[1000(yng(xn))+g(xn)] 而既然 g ( x ) g(x) g(x)不超过一次,那么令 g ( x ) = a x + b g(x)=ax+b g(x)=ax+b,代入上式,可得 y n + 1 = y n + h [ − 1000 ( y n − a x − b ) + a ] y_{n+1}=y_n+h[-1000(y_n-ax-b)+a] yn+1=yn+h[1000(ynaxb)+a] y 0 = y ( 0 ) = g ( 0 ) = b y_0=y(0)=g(0)=b y0=y(0)=g(0)=b,可递推得 y 1 = a h + b y_1=ah+b y1=ah+b y 2 = a ( 2 h ) + b y_2=a(2h)+b y2=a(2h)+b,…, y n = a ( n h ) + b y_n=a(nh)+b yn=a(nh)+b,容易发现总是能得到精确解,因此无步长限制。

    例题1(课后习题3)

    用梯形法解初值问题 { y ′ + y = 0 y ( 0 ) = 1 \left\{\begin{array}{l} y^{\prime}+y=0 \\ y(0)=1 \end{array}\right. {y+y=0y(0)=1 证明其近似解为 y n = [ 2 − h 2 + h ] n y_{n}=\left[\frac{2-h}{2+h}\right]^{n} yn=[2+h2h]n,并证明当 h → 0 h \rightarrow 0 h0时,它收敛于原初值问题的准确解 y = e − x y=e^{-x} y=ex
    :这里我们给出梯形法的公式: y n + 1 = y n + h 2 [ f ( x n , y n ) + f ( x n + 1 , y n + 1 ) ] y_{n+1}=y_{n}+\frac{h}{2}\left[f\left(x_{n}, y_{n}\right)+f\left(x_{n+1}, y_{n+1}\right)\right] yn+1=yn+2h[f(xn,yn)+f(xn+1,yn+1)] 那么由于 f ( x , y ) = y ′ = − y f(x,y)=y^{\prime}=-y f(x,y)=y=y,代进去,有: y n + 1 = y n + h 2 ( − y n − y n + 1 ) y_{n+1}=y_{n}+\frac{h}{2}\left(-y_{n}-y_{n+1}\right) yn+1=yn+2h(ynyn+1) 移项,可以得到: y n + 1 = [ 2 − h 2 + h ] y n = [ 2 − h 2 + h ] 2 y n − 1 = [ 2 − h 2 + h ] n + 1 y 0 y_{n+1}=\left[\frac{2-h}{2+h}\right] y_{n}=\left[\frac{2-h}{2+h}\right]^{2} y_{n-1}=\left[\frac{2-h}{2+h}\right]^{n+1} y_{0} yn+1=[2+h2h]yn=[2+h2h]2yn1=[2+h2h]n+1y0 代入 y 0 = 1 y_{0}=1 y0=1,可以证得近似解。而由于 x = n h x=nh x=nh,n为运算次数,h为步长,因此该式可化为: y n = [ 2 − h 2 + h ] x / h y_{n}=\left[\frac{2-h}{2+h}\right]^{x / h} yn=[2+h2h]x/h lim ⁡ h → 0 y n = lim ⁡ h → 0 [ ( 1 − 2 h 2 + h ) 2 + h 2 h ] 2 h 2 + h x h = e − x \lim _{h \rightarrow 0}{y_n} =\lim _{h \rightarrow 0}\left[\left(1-\frac{2 h}{2+h}\right)^{\frac{2+h}{2 h}}\right]^{\frac{2 h}{2+h} \frac{x}{h}}=\mathbf{e}^{-x} h0limyn=h0lim[(12+h2h)2h2+h]2+h2hhx=ex


    例题2(课后习题6)

    证明对任意参数 t t t,下列龙格-库塔方法是二阶的:
    { y n + 1 = y n + 1 2 h ( K 2 + K 3 ) K 1 = f ( x n , y n ) K 2 = f ( x n + t h , y n + t h K 1 ) K 3 = f ( x n + ( 1 − t ) h , y n + ( 1 − 2 ) h K 1 \left\{\begin{array}{l} y_{n+1}=y_{n}+\frac{1}{2} h\left(K_{2}+K_{3}\right) \\ K_{1}=f\left(x_{n}, y_{n}\right) \\ K_{2}=f\left(x_{n}+t h, y_{n}+t h K_{1}\right) \\ K_{3}=f\left(x_{n}+(1-t) h, y_{n}+(1-2) h K_{1}\right. \end{array}\right. yn+1=yn+21h(K2+K3)K1=f(xn,yn)K2=f(xn+th,yn+thK1)K3=f(xn+(1t)h,yn+(12)hK1 T n + 1 = y ( x n + 1 ) − y n + 1 T_{n+1}=y(x_{n+1})-y_{n+1} Tn+1=y(xn+1)yn+1 首先利用泰勒展开处理 y ( x n + 1 ) = y ( x n + h ) y(x_{n+1})=y(x_n + h) y(xn+1)=y(xn+h),有: y ( x n + h ) = y ( x n ) + h y ′ ( x n ) + 1 2 h 2 y ′ ′ ( x n ) + 1 3 ! h 3 y ′ ′ ′ ( ξ ) y(x_n + h)= y(x_n)+h y^{\prime}(x_n)+\frac{1}{2} h^{2} y^{\prime \prime}(x_n)+\frac{1}{3 !} h^{3} y^{\prime \prime \prime}(\xi) y(xn+h)=y(xn)+hy(xn)+21h2y(xn)+3!1h3y(ξ) y n + 1 = y ( x n ) + h 2 ( K 2 + K 3 ) = y ( x n ) + 1 2 h [ f ( x n + t h , y n + t h y ′ ( x n ) ) + f ( x n + ( 1 − t ) h , y n + ( 1 − t ) h y ′ ( x n ) ) ] ) y_{n+1}=y(x_n)+\frac{h}{2}(K_2+K_3)=y(x_n)+\frac{1}{2}h\left[f\left(x_n+t h, y_n+t h y^{\prime}(x_n)\right)+f\left(x_n+(1-t) h, y_n+(1-t) h y^{\prime}(x_n)\right)\right]) yn+1=y(xn)+2h(K2+K3)=y(xn)+21h[f(xn+th,yn+thy(xn))+f(xn+(1t)h,yn+(1t)hy(xn))]) f ( x n + t h , y n + t h y ′ ( x n ) ) f\left(x_n+t h, y_n+t h y^{\prime}(x_n)\right) f(xn+th,yn+thy(xn)) f ( x n + ( 1 − t ) h , y n + ( 1 − t ) h y ′ ( x n ) ) f\left(x_n+(1-t) h, y_n+(1-t) h y^{\prime}(x_n)\right) f(xn+(1t)h,yn+(1t)hy(xn))各自做二元泰勒展开,带回原式,可解得最后 T n + 1 = O ( h 3 ) T_{n+1}=O(h^3) Tn+1=O(h3),即方法是二阶的。


    例题3(课后习题7)

    证明中点公式 y n + 1 = y n + h f ( x n + h 2 , y n + 1 2 h f ( x n , y n ) ) y_{n+1}=y_{n}+h f\left(x_{n}+\frac{h}{2}, y_{n}+\frac{1}{2} h f\left(x_{n}, y_{n}\right)\right) yn+1=yn+hf(xn+2h,yn+21hf(xn,yn))是二阶的。
    解: T n + 1 = y ( x n + 1 ) − y ( x n ) − h f ( x n + h 2 , y ( x n ) + h 2 y ′ ( x n ) ) T_{n+1}=y\left(x_{n+1}\right)-y\left(x_{n}\right)-h f\left(x_{n}+\frac{h}{2}, y\left(x_{n}\right)+\frac{h}{2} y^{\prime}\left(x_{n}\right)\right) Tn+1=y(xn+1)y(xn)hf(xn+2h,y(xn)+2hy(xn)) 根据泰勒展开式将 y ( x n + 1 ) y(x_{n+1}) y(xn+1)展开,有: y ( x n + 1 ) = y ( x n ) + h y ′ ( x n ) + h 2 2 y ′ ′ ( x n ) + h 3 6 y ′ ′ ′ ( x n ) + O ( h 4 ) y(x_{n+1})=y(x_{n})+hy^{\prime}(x_{n})+\frac{h^{2}}{2}y^{\prime\prime}(x_{n})+\frac{h^{3}}{6}y^{\prime\prime\prime}(x_{n})+O(h^{4}) y(xn+1)=y(xn)+hy(xn)+2h2y(xn)+6h3y(xn)+O(h4) 同理,利用二元泰勒公式将 f ( x n + h 2 , y ( x n ) + h 2 y ′ ( x n ) ) f\left(x_{n}+\frac{h}{2}, y\left(x_{n}\right)+\frac{h}{2} y^{\prime}\left(x_{n}\right)\right) f(xn+2h,y(xn)+2hy(xn))展开,有: f ( x n + h 2 , y ( x n ) + h 2 y ′ ( x n ) ) = f ( x n , y ( x n ) ) + h 2 ∂ f ( x n , y ( x n ) ) ∂ x + h 2 y ′ ( x n ) ∂ f ( x n , y ( x n ) ) ∂ y + 1 2 ! [ ( h 2 ) 2 ∂ 2 f ( x n , y ( x n ) ) ∂ x 2 + h 2 h 2 y ′ ( x n ) ∂ 2 f ( x n , y ( x n ) ) ∂ x ∂ y + [ h 2 y ′ ( x n ) ] 2 ∂ 2 f ( x n , y ( x n ) ) ∂ y 2 ] + O ( h 3 ) f\left(x_{n}+\frac{h}{2}, y\left(x_{n}\right)+\frac{h}{2} y^{\prime}\left(x_{n}\right)\right) = f\left( {{x_n},y\left( {{x_n}} \right)} \right) + {h \over 2}{{\partial f\left( {{x_n},y\left( {{x_n}} \right)} \right)} \over {\partial x}} + {h \over 2}{y^\prime }\left( {{x_n}} \right){{\partial f\left( {{x_n},y\left( {{x_n}} \right)} \right)} \over {\partial y}} + {1 \over {2!}}\left[ {{{\left( {{h \over 2}} \right)}^2}{{{\partial ^2}f\left( {{x_n},y\left( {{x_n}} \right)} \right)} \over {\partial {x^2}}}} \right. + {h \over 2}{h \over 2}{y^\prime }\left( {{x_n}} \right){{{\partial ^2}f\left( {{x_n},y\left( {{x_n}} \right)} \right)} \over {\partial x\partial y}}\left. { + {{\left[ {{h \over 2}{y^\prime }\left( {{x_n}} \right)} \right]}^2}{{{\partial ^2}f\left( {{x_n},y\left( {{x_n}} \right)} \right)} \over {\partial {y^2}}}} \right] + O\left( {{h^3}} \right) f(xn+2h,y(xn)+2hy(xn))=f(xn,y(xn))+2hxf(xn,y(xn))+2hy(xn)yf(xn,y(xn))+2!1[(2h)2x22f(xn,y(xn))+2h2hy(xn)xy2f(xn,y(xn))+[2hy(xn)]2y22f(xn,y(xn))]+O(h3) 把这两个泰勒展开后的式子代回去,由于 y ′ ( x n ) y^{\prime}(x_{n}) y(xn)其实就是 f ( x n , y n ) f(x_{n},y_{n}) f(xn,yn),因此消掉一堆东西后可以得到: = h 3 3 ! y ′ ′ ′ ( x n ) − h 3 8 [ ∂ 2 f ∂ x 2 + y ′ ( x ) ∂ 2 f ∂ x ∂ y + ( y ′ ( x ) ) 2 ∂ 2 ∂ y 2 ] ( x n , y ( x n ) ) + O ( h 4 ) \begin{aligned} &=\frac{h^{3}}{3 !} y^{\prime \prime \prime}\left(x_{n}\right)-\frac{h^{3}}{8}\left[\frac{\partial^{2} f}{\partial x^{2}}+y^{\prime}(x) \frac{\partial^{2} f}{\partial x \partial y}+\left(y^{\prime}(x)\right)^{2} \frac{\partial^{2}}{\partial y^{2}}\right]_{\left(x_{n}, y\left(x_{n}\right)\right)}+O\left(h^{4}\right) \end{aligned} =3!h3y(xn)8h3[x22f+y(x)xy2f+(y(x))2y22](xn,y(xn))+O(h4) 因此是二阶的。


    例题4(课后习题11)

    证明解 y ′ = f ( x , y ) y^{\prime}=f(x,y) y=f(x,y)的下列差分公式 y n + 1 = 1 2 ( y n + y n − 1 ) + h 4 ( 4 y n + 1 ′ − y n ′ + 3 y n − 1 ′ ) y_{n+1}=\frac{1}{2}\left(y_{n}+y_{n-1}\right)+\frac{h}{4}\left(4 y^{\prime}_{n+1}-y^{\prime}_{n}+3 y^{\prime}_{n-1}\right) yn+1=21(yn+yn1)+4h(4yn+1yn+3yn1)是二阶的,并求出截断误差的主项。
    解: 与上一问类似,首先 T n + 1 = y ( x n + 1 ) − y n + 1 T_{n+1}=y(x_{n+1})-y_{n+1} Tn+1=y(xn+1)yn+1 对于 y ( x n + 1 ) = y ( x n + h ) y(x_{n+1})=y(x_{n}+h) y(xn+1)=y(xn+h),利用泰勒展开,有: y ( x n + h ) = y ( x n ) + h y ′ ( x n ) + 1 2 h 2 y ′ ′ ( x n ) + 1 3 ! h 3 y ′ ′ ′ ( x n ) + O ( h 4 ) y(x_{n}+h)=y\left(x_{n}\right)+h y^{\prime}\left(x_{n}\right)+\frac{1}{2} h^{2} y^{\prime \prime}\left(x_{n}\right)+\frac{1}{3 !} h^{3} y^{\prime \prime \prime}\left(x_{n}\right)+O\left(h^{4}\right) y(xn+h)=y(xn)+hy(xn)+21h2y(xn)+3!1h3y(xn)+O(h4) 现在的问题就是怎么处理 1 2 ( y ( x n ) + y ( x n − h ) ) + 1 4 h [ 4 y ′ ( x n + h ) − y ′ ( x n ) + 3 y ′ ( x n − h ) ] {1 \over 2}\left( {y\left( {{x_n}} \right) + y\left( {{x_n} - h} \right)} \right){\rm{ + }}{1 \over 4}h\left[ {4{y^\prime }\left( {{x_n} + h} \right) - {y^\prime }\left( {{x_n}} \right) + 3{y^\prime }\left( {{x_n} - h} \right)} \right] 21(y(xn)+y(xnh))+41h[4y(xn+h)y(xn)+3y(xnh)]。其实依然完全是泰勒展开,这里给出一个例子,展开 y ′ ( x n + h ) y^{\prime}({x_{n}+h}) y(xn+h) y ′ ( x n + h ) = y ( x n ′ ) + h y ′ ′ ( x n ) + 1 2 h 2 y ′ ′ ′ ( x n ) + O ( h 3 ) y^{\prime}({x_{n}+h})=y\left(x^{\prime}_{n}\right)+h y^{\prime\prime}\left(x_{n}\right)+\frac{1}{2} h^{2} y^{\prime \prime\prime}\left(x_{n}\right)+O\left(h^{3}\right) y(xn+h)=y(xn)+hy(xn)+21h2y(xn)+O(h3) 都展来开,代进去的话,最终消去得: − 5 8 h 3 y ′ ′ ′ ( x n ) + O ( h 4 ) -\frac{5}{8} h^{3} y^{\prime \prime \prime}\left(x_{n}\right)+O\left(h^{4}\right) 85h3y(xn)+O(h4) 因此差分公式是二阶的。


    例题5(课后习题12)

    试证明线性二步法 y n + 2 + ( b − 1 ) y n + 1 − b y n = h 4 [ ( b + 3 ) f n + 2 + ( 3 b + 1 ) f n ] y_{n+2}+(b-1) y_{n+1}-b y_{n}=\frac{h}{4}\left[(b+3) f_{n+2}+(3 b+1) f_{n}\right] yn+2+(b1)yn+1byn=4h[(b+3)fn+2+(3b+1)fn] b ≠ − 1 b \neq-1 b=1时方法为二阶,当 b = − 1 b = -1 b=1时方法为三阶。
    解: 注意这里是求 T n + 2 = y ( x n + 2 ) − y n + 2 T_{n+2}=y(x_{n+2})-y_{n+2} Tn+2=y(xn+2)yn+2。有: T n + 2 = y ( x n + 2 h ) + ( b − 1 ) y ( x n + h ) − b y ( x n ) − h 4 [ ( b + 3 ) y ′ ( x n + 2 h ) + ( 3 b + 1 ) y ′ ( x n ) ] \begin{aligned} T_{n+2}=& y\left(x_{n}+2h\right)+(b-1) y\left(x_{n}+h\right)-b y\left(x_{n}\right) \\ &-\frac{h}{4}\left[(b+3) y^{\prime}\left(x_{n}+2h\right)+(3 b+1) y^{\prime}\left(x_{n}\right)\right] \end{aligned} Tn+2=y(xn+2h)+(b1)y(xn+h)by(xn)4h[(b+3)y(xn+2h)+(3b+1)y(xn)] 与前几问类似,各自进行泰勒展开,最终得到: − 1 3 ( b + 1 ) h 3 y ′ ′ ′ ( x n ) − [ 3 8 + 7 24 b ] h 4 y ( 4 ) ( x n ) + O ( h 5 ) -\frac{1}{3}(b+1) h^{3} y^{\prime \prime \prime}\left(x_{n}\right)-\left[\frac{3}{8}+\frac{7}{24} b\right] h^{4} y^{(4)}\left(x_{n}\right)+O\left(h^{5}\right) 31(b+1)h3y(xn)[83+247b]h4y(4)(xn)+O(h5) b ≠ − 1 b \neq -1 b=1时,有 T n + 2 = − 1 3 ( b + 1 ) h 3 y ′ ′ ′ ( x n ) + O ( h 4 ) T_{n+2}=-\frac{1}{3}(b+1) h^{3} y^{\prime \prime \prime}\left(x_{n}\right)+O\left(h^{4}\right) Tn+2=31(b+1)h3y(xn)+O(h4)为二阶;反正,为: T n + 2 = − [ 3 8 + 7 24 b ] h 4 y ( 4 ) ( x n ) + O ( h 5 ) T_{n+2}=-\left[\frac{3}{8}+\frac{7}{24} b\right] h^{4} y^{(4)}\left(x_{n}\right)+O\left(h^{5}\right) Tn+2=[83+247b]h4y(4)(xn)+O(h5)是四阶。

    展开全文
  • 数值分析第作业

    2020-12-30 08:35:47
    欧拉法 function [X,Y] = Euler(a,b,h,f) n = abs((a-b)/h); X =a:h:b; Y =zeros(1,n); Y(1) = 1; for i = 1:n Y(i+1) = Y(i) +h* f(X(i),Y(i)); end 改进的欧拉法 function [X,Y] = Euler_gaijin(a,b,h,...

    第九章
    欧拉法

    function [X,Y] = Euler(a,b,h,f)
    n = abs((a-b)/h);
    X =a:h:b;
    Y =zeros(1,n);
    Y(1) = 1;
    
    for i = 1:n
        Y(i+1) = Y(i) +h*  f(X(i),Y(i));
    end
    
    

    改进的欧拉法

    function [X,Y] = Euler_gaijin(a,b,h,f)
    n = abs((a-b)/h);
    X =a:h:b;
    Y =zeros(1,n);
    Y(1) = 1;
    
    for i = 1:n
        % 预测
        Y(i+1) = Y(i) +h*  f(X(i),Y(i));
        % 校正
        Y(i+1) = Y(i) + h/2 * (f(X(i),Y(i)) + f(X(i+1),Y(i+1)));
    end
    
    

    主程序

    clc 
    clear
    %% 准备
    a = 1 ;
    b = 2;
    h = 0.1;
    f = @(x,y)(1/x^2)-y/x;
    
    %% 欧拉法
    [X1,Y1] = Euler(a,b,h,f);
    subplot(4,3,1),plot(X1,Y1)
    [X2,Y2] = Euler(a,b,0.025,f);
    subplot(4,3,2),plot(X2,Y2)
    [X3,Y3] = Euler(a,b,0.01,f);
    subplot(4,3,3),plot(X3,Y3)
    %% 改进的欧拉法
    [X4,Y4] = Euler_gaijin(a,b,h,f);
    subplot(4,3,4),plot(X4,Y4)
    [X5,Y5] = Euler_gaijin(a,b,0.025,f);
    subplot(4,3,5),plot(X5,Y5)
    [X6,Y6] = Euler_gaijin(a,b,0.01,f);
    subplot(4,3,6),plot(X6,Y6)
    subplot(4,3,[7,12]),
    plot(X1,Y1)
    hold on
    plot(X2,Y2)
    hold on
    plot(X3,Y3)
    hold on
    plot(X4,Y4)
    hold on
    plot(X5,Y5)
    hold on
    plot(X6,Y6)
    

    结果
    在这里插入图片描述

    展开全文
  • 数值分析计算实习题

    2021-04-24 10:48:25
    数值分析计算实习题》由...1、数值分析计算实习题姓名: 学号: 班级: 1、程序代码Clear;clc;x1=0.2 0.4 0.6 0.8 1.0;y1=0.98 0.92 0.81 0.64 0.38;n=length(y1);c=y1(:);for j=2:n %求差商for i=n:-1:jc(i...

    《数值分析计算实习题》由会员分享,可在线阅读,更多相关《数值分析计算实习题(17页珍藏版)》请在人人文库网上搜索。

    1、数值分析计算实习题姓名: 学号: 班级: 第二章1、程序代码Clear;clc;x1=0.2 0.4 0.6 0.8 1.0;y1=0.98 0.92 0.81 0.64 0.38;n=length(y1);c=y1(:);for j=2:n %求差商for i=n:-1:jc(i)=(c(i)-c(i-1)/(x1(i)-x1(i-j+1);endendsyms x df d;df(1)=1;d(1)=y1(1);for i=2:n %求牛顿差值多项式df(i)=df(i-1)*(x-x1(i-1);d(i)=c(i-1)*df(i);endP4=vpa(sum(d),5) %P4即为4次牛。

    2、顿插值多项式,并保留小数点后5位数pp=csape(x1,y1, variational);%调用三次样条函数q=pp.coefs;q1=q(1,:)*(x-.2)3;(x-.2)2;(x-.2);1;q1=vpa(collect(q1),5)q2=q(1,:)*(x-.4)3;(x-.4)2;(x-.4);1;q2=vpa(collect(q2),5)q3=q(1,:)*(x-.6)3;(x-.6)2;(x-.6);1;q3=vpa(collect(q3),5)q4=q(1,:)*(x-.8)3;(x-.8)2;(x-.8);1;q4=vpa(collect(q4),5)%求解并化简多项式2。

    3、、运行结果P4 =0.98*x - 0.3*(x - 0.2)*(x - 0.4) - 0.625*(x - 0.2)*(x - 0.4)*(x - 0.6) - 0.20833*(x - 0.2)*(x - 0.4)*(x - 0.8)*(x - 0.6) + 0.784q1 =- 1.3393*x3 + 0.80357*x2 - 0.40714*x + 1.04q2 =- 1.3393*x3 + 1.6071*x2 - 0.88929*x + 1.1643q3 =- 1.3393*x3 + 2.4107*x2 - 1.6929*x + 1.4171q4 =- 1.3393*x3 + 3.2。

    4、143*x2 - 2.8179*x + 1.86293、问题结果4次牛顿差值多项式= 0.98*x - 0.3*(x - 0.2)*(x - 0.4) - 0.625*(x - 0.2)*(x - 0.4)*(x - 0.6) - 0.20833*(x - 0.2)*(x - 0.4)*(x - 0.8)*(x - 0.6) + 0.784三次样条差值多项式第三章1、程序代码Clear;clc;x=0 0.1 0.2 0.3 0.5 0.8 1;y=1 0.41 0.5 0.61 0.91 2.02 2.46;p1=polyfit(x,y,3)%三次多项式拟合p2=polyfit(x,y,4)。

    5、%四次多项式拟合y1=polyval(p1,x);y2=polyval(p2,x);%多项式求值plot(x,y,c-,x,y1,r:,x,y2,y-.)p3=polyfit(x,y,2)%观察图像,类似抛物线,故用二次多项式拟合。y3=polyval(p3,x);plot(x,y,c-,x,y1,r:,x,y2,y-.,x,y3,k-)%画出四种拟合曲线2、运行结果p1 =-6.6221 12.8147 -4.6591 0.9266p2 =2.8853 -12.3348 16.2747 -5.2987 0.9427p3 =3.1316 -1.2400 0.73563、问题结果三次多项式拟合P。

    6、1=四次多项式拟合P2=二次多项式拟合P3=第四章1、 程序代码1)建立函数文件f.m:function y=fun(x);y=sqrt(x)*log(x);2)编写程序:a. 利用复化梯形公式及复化辛普森公式求解:Clear;clc;h=0.001;%h为步长,可分别令h=1,0.1,0.01,0.001n=1/h;t=0;s1=0;s2=0;for i=1:n-1t=t+f(i*h);endT=h/2*(0+2*t+f(1);T=vpa(T,7) %梯形公式for i=0:n-1s1=s1+f(h/2+i*h);endfor i=1:n-1s2=s2+f(i*h);endS=h/6*(0+。

    7、4*s1+2*s2+f(1);S=vpa(S,7) %辛普森公式a复化梯形公式和复化辛普生公式程序代码也可以是:Clear;clc;x=0:0.001:1; %h为步长,可分别令h=1,0.1,0.01,0.001y=sqrt(x).*log(x+eps);T=trapz(x,y);T=vpa(T,7)(只是h=1的运行结果不一样,T=1.*10(-16),而其余情况结果都相同)Clear;clc;f=inline(sqrt(x).*log(x),x);S=quadl(f,0,1);S=vpa(S,7)b. 利用龙贝格公式求解:Clear;clc;m=14;%m+1即为二分次数h=2;for 。

    8、i=1:mh=h/2;n=1/h;t=0;for j=1:n-1t=t+f(j*h);endT(i)=h/2*(0+2*t+f(1);%梯形公式endfor i=1:m-1for j=m:i+1T(j)=4i/(4i-1)*T(j)-1/(4i-1)*T(j-1);%通过不断的迭代求得T(j),即T表的对角线上的元素。endendvpa(T(m),7)2、运行结果T =-0.S =-0.ans =-0.3、问题结果a. 利用复合梯形公式及复合辛普森公式求解:步长h10.10.010.001梯形求积T=01.*10(-16)-0.-0.-0.辛普森求积S=-0.-0.-0.-0.b. 利用龙贝格。

    9、公式求解:通过15次二分,得到结果:-0.第五章1、程序代码(1)LU分解解线性方程组:Clear;clc;A=10 -7 0 1-3 2. 6 25 -1 5 -12 1 0 2;b=8;5.;5;1;m,n=size(A); L=eye(n); U=zeros(n); flag=ok; for i=1:n U(1,i)=A(1,i); end for r=2:n L(r,1)=A(r,1)/U(1,1); end for i=2:n for j=i:n z=0; for r=1:i-1 z=z+L(i,r)*U(r,j); end U(i,j)=A(i,j)-z; end if abs(U。

    10、(i,i)k temp=Aug(k,:); Aug(k,:)=Aug(r,:); Aug(r,:)=temp; end if Aug(k,k)=0, error(对角元出现0), end % 把增广矩阵消元成为上三角for p = k+1:n Aug(p,:)=Aug(p,:)-Aug(k,:)*Aug(p,k)/Aug(k,k); end end % 解上三角方程组A = Aug(:,1:n); b = Aug(:,n+1); x(n) = b(n)/A(n,n); for k = n-1:-1:1 x(k)=b(k); for p=n:-1:k+1 x(k) = x(k)-A(k,p)*x。

    11、(p); end x(k)=x(k)/A(k,k); enddetA=det(A)2、 运行结果1) LU分解解线性方程组L =1.0e+006 *0.0000 0 0 0-0.0000 0.0000 0 00.0000 -2.5000 0.0000 00.0000 -2.4000 0.0000 0.0000U =1.0e+007 *0.0000 -0.0000 0 0.00000 -0.0000 0.0000 0.00000 0 1.5000 0.57500 0 0 0.0000x =-0.0000-1.00001.00001.0000detA =-762.00012)列主元消去法detA 。

    12、=762.0001ans =0.0000-1.00001.00001.00003、 问题结果1) LU分解解线性方程组L=U=x=(0.0000,-1.0000,1.0000,1.0000)TdetA=-762.0012)列主元消去法x=(0.0000,-1.0000,1.0000,1.0000)TdetA=762.001第六章1、程序代码(1)Jacobi迭代Clear;clc;n = 6; %也可取n=8,10H = hilb(n); b = H * ones(n, 1); e = 0.00001; for i = 1:n if H(i, i)=0 对角元为零,不能求解 return en。

    13、dendx = zeros(n, 1); k = 0; kend = 10000; r = 1; while ke x0 = x; for i = 1:n s = 0; for j = 1:i - 1 s = s + H(i, j) * x0(j); endfor j = i + 1:n s = s + H(i, j) * x0(j); endx(i) = b(i) / H(i, i) - s / H(i, i); endr = norm(x - x0, inf); k = k + 1; endif kkend 迭代不收敛,失败 else 求解成功x k end(2)SOR迭代1)程序代码fu。

    14、nction s = SOR(n, w); H = hilb(n); b = H*ones(n, 1); e = 0.00001; for i = 1:n if H(i,i)=0 对角线为零,不能求解return endendx = zeros(n, 1); k = 0;kend = 10000; r = 1; while ke x0 = x; for i = 1:n s = 0; for j = 1:i - 1s = s + H(i, j) * x(j); endfor j = i + 1:n s = s + H(i, j) * x0(j); endx(i) = (1 - w) * x0(i。

    15、) + w / H(i, i) * (b(i) - s);endr = norm(x - x0, inf); k = k + 1; endif kkend 迭代不收敛,失败 else 求解成功 xend2)从命令窗口中分别输入:SOR(6,1)SOR(8,1)SOR(10,1)SOR(6,1.5)SOR(8,1.5)SOR(10,1.5)2、运行结果Jacobi迭代:ans =迭代不收敛,失败SOR迭代:第七章1、程序代码(1)不动点迭代法1)建立函数文件:g.mfunction f=g(x)f(1)=20/(x2+2*x+10);2)建立函数文件:bdd.mfunction y, n = bdd(x, eps) if nargin=1eps=1.0e-8;elseif nargin=eps)&(n bdd(0)n =25ans =1.3688(2) 牛顿迭代x=021.66671.59211.38951.26671.13731.13731.1373k =8x1 =1.13733、问题结果(1)不动点迭代法x=1.3688 n=25 收敛太慢(2)牛顿迭代初值取0迭代次数k=8时,kx(k)1221.31.41.51.61.71.81。

    展开全文
  • 数值分析第思考题参考解答
  • 商品描述:【编辑推荐】:马昌凤编著的《现代数值分析》是普通高等教育十二规划教材之一。本书共九章节,内容包括现代数值分析引论、非线性方程的求根方法、线性方程组的直接解法、线性方程组的迭代解法、插值法与*...
  • 东南大学《数值分析》上机题.docx 数值分析上机题1设,其精确值为。21NJS132N(1)编制按从大到小的顺序,计算的通用程序。221SNS(2)编制按从小到大的顺序,计算的通用程序。1N(3)按...
  • # 教材《数值分析第五版 李庆扬 王能超 易大义 # 只总结了考试需要的内容:①复化求积公式 ②隆贝格公式的推导思想 ③精度误差 # 总结不易 望赞鼓励 0 内容串联 1. 误差分析:...
  • # 教材《数值分析第五版 李庆扬 王能超 易大义 # 只总结了考试需要的内容:①LU分解求解线性方程组 ②向量矩阵的范数 ③矩阵的条件数 # 总结不易 望赞鼓励 0 内容串联 1. 误差分析:...
  • # 教材《数值分析第五版 李庆扬 王能超 易大义 # 只总结了考试需要的内容:①Jacobi迭代法 ②Gauss-Seidei迭代格式 ③收敛性分析 # 总结不易 望赞鼓励 0 内容串联 1. 误差分析:...
  • 实验一(共3题,完成3题)1.1水手、猴子和椰子问题:...第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只给猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆...
  • 数值分析大作业

    2021-05-18 12:24:59
    数值分析大作业 二姓名:苗某某 单位:航天院502所算法设计方案本次大作业主要涉及到的算法有:矩阵A的拟上角化;矩阵A的QR分解;带双步位移QR分解求解矩阵A的全部特征值;列主元高斯消去法求解线性方程组。其中...
  • 数值分析练习题(含答案).doc

    千次阅读 2021-04-19 00:41:04
    数值分析习题参考解答 江世宏编PAGEPAGE 1 绪论姓名 学号 班级习题主要考察点:有效数字的计算、计算方法的比较选择、误差和误差限的计算。1 若误差限为,那么近似数0.003400有几位有效数字?(有效数字的计算)...
  • 数值分析教学大纲.doc

    2021-07-26 09:20:43
    数值分析》教学大纲(一) 总 则数值分析主要研究计算机解题的基本理论和方法,介绍数值分析研究中的一些较新的成果。其目的是根据问题的要求,提炼数学模型,通过算法设计和上机计算,快速准确得出工程需要的结果。...
  • # 教材《数值分析第五版 李庆扬 王能超 易大义 # 只总结了考试需要的内容:①改进的欧拉公式 ②其他迭代格式 # 总结不易 望赞鼓励 0 内容串联 1. 误差分析:...
  • 数值分析-期末复习

    2021-01-10 16:36:00
    参考书:李庆杨,《数值分析》,第五版 PPT:任课老师,— 真题:同学,— 1. 差值 2. 数据拟合 3. 数值积分 4. 解线性方程组的直接方法 5. 迭代法解线性方程组 6. 方程与方程组...
  • 【Linux】第五章

    2021-05-12 11:40:08
    inode 的数量与大小也是在格式化时就已经固定了,除此...ü系统读取文件时需要先找到 inode,并分析 inode所记录的权限与用户是否符合,若符合才能够开始实际读取block的内容。inode要记录的数据非常多,但又只有...
  • # 教材《数值分析第五版 李庆扬 王能超 易大义 # 总结不易 望赞鼓励 0 内容串联 1. 误差分析 1. 前言 计算机解决实际问题的步骤? (1)建立数学模型 (2)选择数值方法 (3)编写成与 (4)上机计算 主要...
  • } 解:按如下方式在键盘上输入(见下面第1,2行,第3行是输出结果)。 注意:在输入8.5和71.82两个实数给x和y后,应紧接着输入字符A,中间不要有空格,由于A是字母而不是数字,系统在遇到字母A时就确定输入给y的数值...
  • 绪论(12)1、设,x的相对误差为,求的误差。[解]设为x的近似值,则有相对误差为,绝对误差为,从而的误差为,相对误差为。2、设x的相对误差为2%,求的相对误差。[解]设为x的近似值,则有相对误差为,绝对误差...
  • 2004_06数值分析及其MATLAB实验_11343411[General Information]书名=2004.06数值分析及其MATLAB实验作者=姜健飞页数=282SS号出版日期=2004年06月1前言目录 数值分析的基本概念一节 数值算法的研究对象...
  • 数据链路层 ** 2-1 物理层要解决哪些问题?物理层协议的主要任务是什么? 解答:物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。因此物理层要考虑如何用电磁...
  • 在这一中,我们从几何的角度来回顾基本的线性代数,在二维维的情况下着重直觉感知和算法。熟悉线性代数的读者可以跳过本。然而,即使对于这样的读者,也可能有一些启发性的珍闻,比如行列式的发展以及对奇异和...
  • 数据结构4例题与答案

    千次阅读 2021-07-16 04:32:10
    一、选择题 1.下面关于串的的叙述中,哪一个是不正确的?( )【北方交通大学 2001 一、5(2分)】 a.串是字符的有限序列 b.空串是由空格构成的串 c.模式匹配是串的一种重要运算 d.串既可以采用顺序...
  • # 教材《数值分析第五版 李庆扬 王能超 易大义 # 只总结了考试需要的内容:①拉格朗日插值 ②牛顿插值 # 总结不易 望赞鼓励 0 内容串联 1. 误差分析:...
  • 当我学数值分析时,我学到了什么?...教材为:《数值分析 第4(颜庆津 编著)》 绪论 研究对象 科学计算:通过建立数学模型把科学技术问题转化为数学问题,然后对数学问题进行离散化,将其转化为数值问题
  • 数值分析期末考试一、 设,若要确保其近似数的相对误差限为0.1%,则它的近似数至少取几位有效数字?(4分)解:设有位有效数字。因为,所以可得的一位有效数字为8(1分)又因为,令,可知至少具有3位有效数字(3分)。二...
  • MATLAB教程2012a5习题解答-张志涌分析数据和函数的可视化习题5及解答已知椭圆的长、短轴,用“小红点线”画椭圆。(参见图p5-1)〖解答〗clfa=4;b=2;t=0:pi/80:2*pi;x=a*cos(t);y=b*sin(t);plot(x,y,'r.','Marker...
  • 第三章 开关理论基础3.1 数制与编码什么叫数制?多位数码每一位的构成以及从低位到高位的进位规则称为数制。1,十进制十进制的每一位由 0~ 9十个数码构成,所以十进制的基数为 10,低位到高位是逢十进一。6 6 6 66×...
  • matlab课后

    2021-04-21 22:18:03
    matlab课后Tag内容描述:1、4 数值运算习题 4 及解答1 根据题给的模拟实际测量数据的一组和 试用数值差分diff或数值梯度gradient指令计算,然后把和曲线绘制在同一张图上,观察数值求导的后果。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,801
精华内容 26,720
关键字:

数值分析第五版第三章

友情链接: shuxing_bbs.rar