《可视化计算》第8章计算工具的评估和选择.ppt
《《可视化计算》第8章计算工具的评估和选择.ppt》由会员分享,可在线阅读,更多相关《《可视化计算》第8章计算工具的评估和选择.ppt(54页珍藏版)》请在三一办公上搜索。
1、第8章 计算工具的评估和选择,可视化计算,1,学习目标,如何评估计算工具的能力与局限?如何将RAPTOR中实现的算法转换成其他程序设计语言的版本?为何要在不同的计算工具之间进行选择?面向过程与面向对象的程序有何不同?是否可以将其他语言实现的程序算法转变为流程图来方便分析?,2,计算工具的能力与局限评估,在所有数字化计算工具中,都存在一种表达能力极其局限性。二者是相互依存,共同存在的,3,计算工具的表达能力,PythonExcel,4,误差的来源,1描述误差(实际问题与数学模型之间)2观测误差(仪器本身的精度)3截断误差(用收敛的无穷级数的前几项来代替无穷级数)4舍入误差(用有限位小数来代替无穷
2、小数),5,RAPTOR中的误差,6,IEEE 754-一个计算机误差规范,描述了在二进制计算机中应如何存储浮点数。它之所以得到广泛采用,原因是它允许在合理的空间量中存储浮点数,以及相对快速地进行计算IEEE 754的规定 最大/最小限制精度二进制循环数字,7,最大/最小限制,因为用于存储数字的内存位数是有限的,所以,可以存储的最大数或最小数也是有穷的对于 RAPTOR,可以存储的最大数是 1.79769313486232E+308,而可以存储的最小正数是 2.2250738585072E-308,8,RAPTOR遵守 IEEE 754 的情况,下溢:当产生了一个因太小而无法表示的数字时,会发
3、生下溢。在IEEE和RAPTOR 中,结果是0。上溢:当数字因太大而无法表示时,会发生上溢RAPTOR 使用它自己的特殊表示方法来表示此情况(+Inf*),9,RAPTOR不遵守 IEEE 754 的情况,正/负无穷大:被0除时出现RAPTOR不支持无穷大,在此类情况下它会给出“Cant divide by zero”错误。非数字(NaN):NaN 用于表示无效的运算(例如:-1 的平方根)RAPTOR 会立即生成错误(例如:“Cant take square root of negative number”),10,RAPTOR精度问题,RAPTOR浮点数以二进制存储,并分为三个部分,总长度
4、为64位:符号、指数和尾数。,符号存储数字的符号(正或负)指数存储使数字增大或减小到的2的幂(最大/最小的2的幂是+1,023 和-1,022)尾数存储实际的数字尾数的有限存储区域限制了两个相近的浮点数能够接近的程度(也即精度),11,RAPTOR精度问题,在RAPTOR的默认精度情形下,可以有以下两种计算数值:整数,最长为10位有效数值例如:1073741824(230)浮点数,最长为15位有效数值,初始默认四位小数例如:562949953421312.0000(249)或0.1100,12,RAPTOR精度问题,set_precision()设置小数位后的精度,设置以后,系统中所有数值全部
5、使用浮点数表示(不再有整数表达),13,二进制循环数字,(0.1)10转为二进制会成为无限循环小数IEEE754因此产生截断误差,14,算法环境的转换,RAPTOR原型(Prototype)算法设计工具所产生的算法用到各种科研和工程实践中,需要转变成为用户要求的环境中可以运行的程序RAPTOR提供将已经实现的算法转换为不同的程序设计语言(Ada、C+、C#、Java等)的功能,15,RAPTOR-C+(Hanoi塔),16,RAPTOR-C+(Hanoi塔),主要修改和差异:为所有的RAPTOR算法中的变量设计C+的变量类型在C+中对所有的变量名的大小写敏感在屏幕输出过程中,C+环境一般不支持
6、类似“+”这样的字符串连接符,而是需要用”替代,17,RAPTOR-C+(快速排序),18,RAPTOR-C+(文件I/O),C+文件操作的语句包括:文件输入输出头文件:fstream;输入流定义和输入文件打开:ifstream redirect_input(m101-data.csv,ios:in);文件数据输入到变量:while(redirect_inputtemp);输入文件关闭:redirect_input.close();,19,RAPTOR-C+(数组),数组声明(int*arr_Data=new int105;C+的特点:指针规定了数组的最大元素个数:105C+的特点,数组预先定
7、义的大小不可逾越C+中的指针(*)和地址(&)等特殊形式来传递子程序(函数)形式参数中的数组类参数void QkPass(int*R,int i,int j,int&QkPass_result),20,RAPTOR-C+(子图、子程序),RAPTOR子程序会自动识别成为C+的函数但RAPTOR的子图转成的C+程序中,无法识别子图的存在(例如RAPTOR算法中的Input_file_data和Output_file_data子图),只是按照main子图对其他子图的调用顺序,依次将其他赋值、决策和循环语句进行转换,21,RAPTOR-C+(随机漫步),22,RAPTOR 转换的C+图形指令与Win
8、BGIm图形库的对比,23,C+的薄弱环节,在于不同类型变量的转换WinBGIm图形库支持字符串的显示,但不支持数值变量直接在图形视窗输出须将数值类的变量getdist(漫步终点与出发点的距离),转变成为字符串之后才能显示,C+实际上也没有此类函数最后使用了变通的办法sprint()(格式化输出函数),将getdist的输出结果变成字符串,再调用outtextxy()函数将串里的字符显示在C+图形视窗中,24,C+的随机数函数,在C+的随机数应用中,需要用到随机数种的函数,其作用是为每一次随机函数的调用,给出一个与上一次应用不同的初值本例的循环进行了2000次,就需要2000个不同的种子,否则
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化计算 可视化 计算 工具 评估 选择
链接地址:https://www.31ppt.com/p-6075924.html