数值分析/基础

基础

多项式计算

改变多项式的运算顺序,有利于提高计算效率

数字计算机对微小误差会放大,导致计算存在不可靠的风险,本课程目的即是懂得避免并降低这种风险

如果可能,尽量避免很接近的数相减,比如重构表达式,避免相近数的相减

嵌套乘法

嵌套乘法又叫Horner方法,matlab中用nest函数计算

一般形式如下:

\[c_1 + (x-r_1)(c_2+(x-r2)(c_3+(x-r_3)(c_4+(x-r_4)(c_5)))) \]

其中:\(r_1, r_2, r_3, r_4\) 称为基点

nest(次数,[系数],求值点,[基点])
nest(4,[-1 5 -3 3 2],1/2,[0 0 0 0])

其中:基点可以省略,求值点也可以是数组来同时求多组数据

二进制数

二进制数表示

\[...b_2 \times 2^2 +b_1\times 2^1 + b_0 \times 2^0 + b_{-1}\times 2^{-1}+b_{-2}\times2^{-2}... \]

实数的浮点表示

浮点格式

IEEE标准由符合、尾数、阶这三部分组成,形式如下:

\[\pm 1.bbbb..b\times 2^p \]

由于正规化要求最前面的数是1.

常见精度如下:
精度 符号 尾数
1 8 23
1 11 52
长双 1 15 64

定义

机器 \(\varepsilon\) 表示1 与大于 1 的最小浮点数之间的差,记为 \(\varepsilon_{mach}\) ,对于IEEE的double标准来说:

\[\varepsilon_{mach} = 2^{-52} \]

由于机器2进制计数,导致对于有些数不能精确表示,我们可用断位法舍入法来处理。

最近舍入规则

double类型,二进制数第53位是0,则舍去,否则就进位1到第52位。

误差

绝对误差和相对误差

\[绝对误差 = |x_c -x|\qquad 相对误差= \frac{|x_c-x|}{|x|}\quad 其中:x_c 是准确值x的计算结果 \]

相对舍入误差

在IEEE标准下,相对舍入误差 \(f(x)\)不大于机器 \(\varepsilon\) 的一半

\[\frac{|f(x)-x|}{|x|} \leq \frac{1}{2}\varepsilon_{mach} \]

微积分回顾

定理

介值定理 :\(f\) 是区间 \([a,b]\) 上的一个连续函数,那么 \(f\) 能取到$ f(a)$ 和 \(f(b)\) 之间的任何一个值。

也就是说存在 \(y\) 且$f(a) \le y \le f(b) $ 则存在一个数 \(c\) 使得 \(f(c) = y\)

连续函数的极限:\(f\) 是在 \(x_0\) 的某一个领域内的连续函数,且 $\lim_{n\to\infty}x_n = x_0 $,那么:

\[\lim_{n\to \infty}f(x_n) = f(\lim_{n\to \infty }x_n)= f(x_0) \]

中值定理:\(f\) 是区间 \([a,b]\) 上的一个连续可微函数,那么在 \(a\)\(b\) 之间存在一个数 \(c\) ,使得:

\[f'(c) = \frac{f(b)-f(a)}{b-a} \]

Rolle定理:\(f\) 是区间 \([a,b]\) 上的一个连续可微函数,并假设 \(f(a) = f(b)\),那么在 \(a\)\(b\) 之间存在一个数 \(c\) ,使得 \(f'(c)=0\)

带余项的Taylor公式:\(x\)\(x_0\) 是实数,\(f\) 在区间 \([x_0,x]\)\(k+1\) 次连续可微,那么在 \(x\)\(x_0\) 之间存在一个数 \(c\) ,使得:

\[f(x) = f(x_0) + (x-x_0)f'(x_0)+\frac{(x-x_0)^2}{2!}f''(x_0)+\frac{(x-x_0)^3}{3!}f'''(x_0)+...+\\ \frac{(x-x_0)^k}{k!}f^{(k)}(x_0)+\frac{(x-x_0)^{(k+1)}}{(k+1)!}f^{(k+1)}(c) \]

或者:

\[f(\Delta x+x_0) = f(x_0)+f'(x_0)\Delta x +\frac{f''(x_0)}{2!}\Delta x^2+\frac{f'''(x_0)}{3!}\Delta x^3 +...+\frac{f^{(k)}(x_0)}{k!}\Delta x^k+\frac{f^{(k+1)}(c)}{(k+1)!}\Delta x^{k+1} \]

积分形式的中值定理:\(f\) 是区间 \([a,b]\) 上的一个连续函数,\(g\) 是可积函数,并且在 \([a,b]\) 上不变号,那么在 \([a,b]\) 内存在一个数 \(c\) ,使得:

\[\int_a^b f(x)g(x)dx=f(c)\int_a^b g(x) dx \]

posted @ 2019-03-05 16:25  hello.world!  阅读(438)  评论(0编辑  收藏  举报