- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法优化 设计算法时应遵循的原则 要有数值要稳定性,即能控制误差的传播. 避免大数吃小数,即两数相加时,防止较小的数加不到较大的数上. 避免两相近的数相减,以免有效数字的大量丢失. 避免分母很小(或乘法因子很大),以免产生溢出. 例题 例题 例题 例题 泰勒级数的定义 若函数f(x)在点的某一邻域内具有直到(n+1)阶导数,则在该邻域内f(x)的n阶泰勒公式为: f(x)=f(x0)+f`( x0)(x-x0) +f``( x0) (x-x0))^2 + f```( x0)(x-x0)^3 +... fn(x0)(x- x0)^n/n!+.... 其中:fn(x0)(x- x0)^n/n!,称为拉格朗日余项。 例题 泰勒级数在近似计算中有重要作用。 e^x= 1+x+x^2/2!+x^3/3!+...+xn/n!+Rn(x) ln(1+x)=x-x^2/2+x^3/3-...(-1)^(k-1)*x^k/k+Rn(x)(|x|1) sinx=x-x^3/3!+x^5/5!-...(-1)^(k-1)*x^(2k-1)/(2k-1)!+Rn(x)(-∞x∞) cosx= 1-x^2/2!+x^4/4!-...(-1)^k*x^(2k)/(2k)!+... (-∞x∞) arcsin x = x + 1/2*x^3/3 + 1*3/(2*4)*x^5/5 + ... (|x|1) arccos x = π - ( x + 1/2*x^3/3 + 1*3/(2*4)*x^5/5 + ... ) (|x|1) 。。。 例题 例题 例题 算法二表明,仅用不多的五次函数值的计算,已获得π的具有五位有效数字的近似值。 例题 例题 例题 n In n In 0 09 0.017056624 1 0.088392216 10 0.014716876 2 0.058039818 11 0.017324710 3 0.043138742 12 -0.003290219 4 0.034306287 13 -0.093374172 5 0.028468560 14 -0.395442290 6 0.024323864 15 2.043878100 7 0.021237820 16 -108 0.018810897 17 50例题 例题 最后:知识结构图 显然算法不稳定,理论上成立的算法,在计算机上机算时,由于初值的误差在计算过程中的传播,而导致结果的失真,这是我们数值计算方法所要研究的。 * * * * * * * * * * * * * * * * 示例 示例 示例 误差的分类 模型误差 从实际问题建立的数学模型往往都忽略了许多次要的因素,因此产生的误差称为模型误差. 观测误差 一般数学问题包含若干参数,他们是通过观测得到的,受观测方式、仪器精度以及外部观测条件等多种因素,不可能获得精确值,由此而来产生的误差称为观测误差。 系统误差、偶然性误差 系统性误差 :systematic error 定义1:在相同的测量条件下的测量值序列中数值、符号保持不变或按某确定规律变化的测量误差。 偶然性误差 :random error 定义2:反之,正态分布。 误差估计 由于准确值在一般情况下是未知的,因此绝对误差和相对误差常常是无法计算的,但有可能给出估计。误差界就是用于误差估计的。 截断误差和舍入误差 在求解过程中,往往以近似替代,化繁为简,这样产生的误差称为截断误差。 舍入误差 在计算机上运算时受机器字长的限制,一般必须进行舍入,此时产生的误差称为舍入误差。 误差和有效数字 误差和有效数字 误差估计 由于准确值在一般情况下是未知的,因此绝对误差和相对误差常常是无法计算的,但有可能给出估计。误差界就是用于误差估计的。 误差估计 误差估计 在实际计算绝对误差和相对误差时,由于准确数x未知,因此常用 表示。 有效数字 工程上,误差的概念转化为有效数字。 计算机浮点数、整形等… 浮点数(float)又称作浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体来说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。 浮点计算是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。 计算机浮点数、整形等… 一个浮点数a由两个数m和e来表示:a = m × be。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。m(即尾数)是形如±d.ddd...ddd的p位数(每一位是一个介于0到b-1之
文档评论(0)