- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四节 算法介绍 算法(Algorithm) Algorithm is an effective method for solving a problem using a finite sequence of instructions. (comes from Wikipedia) 算法是利用有限(计算机)指令解决问题的有效方法。 有效性:必须能得到正确结果; 有限性:时间、空间(内存空间)范围有限; 计算机指令: 算术指令: +,-,*,/,…, 比较指令: , , = =, ~=, …, 控制指令:for , if, while, …, 赋值指令: =, 算法(Algorithm) × 不是有限指令 改进 2: 有限? √ 改进 1: 算法? 有限? √ 有效 ? 有效 ? 例:设计算法,用计算机计算函数 算法原理:泰勒定理 算法优吗?如何评价算法的优劣? 算法研究的主要问题 算法研究中的主要问题: 算法的实现:如何设计算法能够解决一类问题 算法的误差:算法的结果与真实结果有多大差距 算法的运算效率:如何能够更快地解决问题 算法的稳定性:当输入存在误差时,算法是否还能得到较好的结果。 误差的基本概念 绝对误差(absolute error ):真实值与近似值差的绝对值。 绝对误差限(精度,accuracy):绝对误差的范围; 相对误差(relative error):绝对误差与精确值之比(如果精确值未知,计算时用近似值代替)。 相对误差限:相对误差的范围; 有效数字:若近似值x*的误差限是某一位的半个单位,该位到x*的第一位非零数字共n位,则称x*有n位有效数字。 真实值:1.3333,计算值:1.350,有三位有效数字 计算值:1.390,小数点后第二位差大于半个单位0.5,则只有两位有效数字。 误差的基本概念 例:真实值=00123.000456 要求保留5位有效数字:00123.00(最前面0不计,最后0不省) 绝对误差=|真实值-近似值| = 0.000456, 相对误差= 0.000456 / 00123.000456 =3.7073e-006 保留7位有效数字:00123.0005(四舍五入) 绝对误差=0.0000440.00005(绝对误差不大于其最末数字的半个单位) 相对误差= 0.000044 / 00123.000456 = 3.5772e-007 算法的误差 算法的误差包括: 模型误差 测量误差 舍入误差 截断误差 舍入误差(Roundoff Errors) 舍入误差:由于数据输入位数有限及计算机精度有限而导致的误差。 计算机中的数包括两类: 用来表示整数的数: int,unsigned int,long,short,… 用来表示小数的数——浮点数:float ,double。 当利用浮点数表示无限小数时,不可避免地需要舍去小数点某位以后的数据,从而引入了舍入误差。 浮点数标准:IEEE 754 浮点数:IEEE 754(1985): Standard for Binary Floating-Point Arithmetic(可在google上下载该文档)。 在matlab帮助文件搜索栏中输入:“ IEEE 754 ”,可得到IEEE 754的介绍。 浮点数 浮点数包括:半精度(16位)、单精度(32位)、双精度(64位)和四精度(128位)。 规范:IEEE 754标准: 类似于科学计数法,共计2^64个数,其中包含:NaN,Inf等非数字标记。 浮点数表示 符号位 s b63 指数位 e b62 ~ b52 e =1027 尾数 f b51 ~ b0 浮点数的转换 例:将“7.5”转换为64位浮点数二进制表示 S=0 e=2+1023=1025 f = 0.5+0.25+0.125 0 10000000001 1110…….0 实验:编程将64位浮点数转化为二进制数,验证本例结果是否正确。 浮点数的性质 浮点数是什么数? 实数? 有理数? 有限小数? 有多少个不同的浮点数? 264(64位,每位有两个状态,“0”和“1”) 浮点数是由264个有限小数(包含整数)构成的集合? 错。IEEE 定义了一些异常值,inf (无穷)和 NaN(“非数字”) 浮点数精度是多少? eps=2-52 = 2.2204E-16 最大的浮点数是多少? realmax =(2-esp)×21023 = 1.7977E+308 最小的浮点数是多少? -realmax = -1.7977E+308 最小的正浮点数是多少? realmin = 2-1022 ×2-52 =4.9407e-324 √ √ √(精确) 浮点数的误差 例: eps是相对误差?绝对误差? 浮点数的误差
文档评论(0)