




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计(论文)摘 要表面测量技术、表面评定理论与方法是科学技术的一个不可或缺的分支。与模拟的波度滤波器相比较,数字滤波器有较为突出的优点。本设计采用了一种递归滤波算法,此算法包括两个差分方程,运算过程简单,更加容易的实现了高斯滤波。使用Matlab实现递归滤波算法,Matlab相对于其他计算工具,它的程序语言更为简单。Matcom是能将在Matlab中运行的M文件转化成相同功能C+代码的工具,可以独立于Matlab运行。相比Matlab自带的编译器Compiler,用Matcom转化代码要简单和方便得多。在使用Matlab实现算法的基础上使用Matcom来对其进行编译,将其转换为可以在VC中运行的C+语言。Matcom编译的主要是数据计算部分的程序,在软件界面设计过程中还必须结合C+语言,实现界面显示。在运行软件后可以看到滤波的图形显示,在粗糙度显示一栏可以清晰得知各个粗糙度参数的值。这款软件结合了Matlab的计算功能,Matcom的编译功能,以及VC的界面设计功能,充分的利用了各软件的突出优势,使得软件的程序得到简化。关键词:滤波器;粗糙度;高斯快速算法;滤波中线AbstractThe Surface measurement technology, surface evaluation theory and method is one of the indispensable of science and technology of the branch. And the simulation of wave degrees compared, digital filters filter has more outstanding qualities.This design using a recursive filtering algorithm, this algorithm include two difference equation, operation simple, more easy to realize the gaussian filtering. Use Matlab recursive filtering algorithm, Matlab relative to other calculation tool, its program language more simple. Matcom is in Matlab operation can be transformed into the M files of c + + code same function independently of Matlab tools that can run. Matlab to bring the Compiler compared with Matcom transformation Compiler code, much more simple and convenient. In the use of Matlab algorithm based on the use of its Matcom to compile, convert to can run in VC + + language. The main is Matcom compiled data computation part of the program, in software interface design process also must be integrated with the c + + language, realize interface display. After the run software can be seen in the graphic display, filter display a bar can be clear roughness that the value of each roughness parameter.This software combines Matlab calculation function, Matcom compiler function, and VC interface design functions,Fully utilize the prominent advantages of software, make software program are simplified.Keywords:filter, roughness, Gaussian fast algorithm, filtering center line目 录摘 要IAbstractII1绪 论11.1研究背景11.2相关理论21.3相关软件工具31.3.1 MATLAB31.3.2 MATCOM31.3.3 Microsoft Visual C+41.4本文研究工作和章节安排42表面粗糙度测量中的高斯滤波快速算法理论62.1高斯滤波器幅度特性的逼近方法62.2冲激响应不变法设计高斯数字滤波器82.3零相移的高斯滤波差分递归算法92.4结论103高斯算法的Matlab实现123.1优势123.2高斯算法的Matlab的实现方法144 Matcom的运用174.1详细介绍如何将m文件编译后放入VC中。184.1.1新建m文件184.1.2在VC中用MFC Wizard(exe)创建工程195粗糙度国际标准215.1基本术语215.2表面轮廓参数定义215.3用Matlab求得粗糙度参数226 Matcom与Visual C+联合编译技术2561基本技术简介256.1.1数据处理系统的关键技术256.1.2 ADO数据库访问技术256.1.3初始化COM库266.2Matcom与Visual C+联合编译的设计流程286.3 Visual C+应用部分296.4设计结果297结束语32致谢33参考文献34附录361绪 论1.1研究背景随着科学技术的不断进步,表面计量学取得了迅猛的发展,表面测量技术、表面评定理论与方法已经成为科学技术的一个不可或缺的分支。表面形貌也称为表面微观几何形态,是指零件加工过程中,由刀具和零件的摩擦、切削分离时的塑性变形和金属撕裂,以及加工系统中的高频振动等原因,在零件的被加工表面上残留的各种不同形状和尺寸的凸峰和凹谷1。表面形貌不仅与加工过程中的加工方法及工艺参数相关,而且其纹理特征在很大程度上决定了零部件的使用性能。因此准确地测量和评定表面形貌,不但能正确地识别出加工过程中的变化与缺陷,而且对控制和改进加工方法、研究表面几何特性与使用性能的关系,以及提高加工表面的质量和产品性能都有着重要意义。正确地规定和控制表面形貌,其作用往往不亚于采用一种新材料和新结构,有着重大的经济价值。表面轮廓参数的测量是一个复杂的过程。加工后的表面轮廓通常是包含有表面粗糙度、表面波度和几何形状误差的复合轮廓2,所以在研究表征表面粗糙度的表面轮廓参数时,把这些附加的成分分离开很必要。在表面轮廓的自适应测量中,常常需要自动调整增大取样长度3,这样虽然可以得到更多的粗糙度信息,但却混进了较多的波度成分,从而影响了测量结果的准确性。因此必须想办法尽量将波度成分去除。因而滤波器在表面数据分析中具有现实的研究意义。滤波器主要分为RC滤波器,样条滤波器,高斯滤波器。RC滤波器存在相位差, 使滤波轮廓产生畸变存在边沿效应,必须在测量之前对轮廓进行预处理。另外,还有对被测轮廓的形状跟随性差、不稳定、受细长深谷影响较大等等。目前依靠计算机技术的发展RC模拟滤波器已基本被淘汰。高斯滤、样条滤波器作为主要使用的数字滤波器。与模拟的波度滤波器相比较,该数字滤波器有以下优点4:(1)精度高,稳定性好。数字滤波器依靠程序实现,不象模拟滤波器那样受滤波元件的精度、温度和时间等因素影响。因而精度高。(2)成本低。要滤除很低的波度频率,需要价格昂贵的大容量电容器(如钽电容),为了提高滤波的效果,还需要增加滤波的级数和各级之间的缓冲器。而采用数字滤波,只要简单地执行程序几次,即可实现多级滤波,从而大大节省了滤波的成本。(3)可调性好,能适应各种测量条件的需要。在实际测量中,截止波长常需根据不同的表面进行调整,应用数字滤波,只要简单地改变其程序入口参数即可。而采用RC 模拟波度滤波,必须改变R值或C值,使用不方便。(4)应用范围大。数字滤波可以对频率很低(如0.01Hz)的波度信号实现滤波,克服了模拟滤波器体积大等缺陷。目前在生产领域大多采用二维测量方法,即测取一段轮廓曲线用于评定表面粗糙度5。显然,用这种方法评定表面特征及功能具有片面性。反映表面质量及功能的应是参与工作的表面,工件表面的三维形貌才能反映表面的真实情况6。因此,通过对表面进行三维测量以获取三维轮廓是表面测量技术发展的必然趋势。由于表面三维形貌的测量与评定需要较昂贵的设备且效率较低,因此在生产上仍以二维测量与评定为主7。在表面三维形貌测量中,表面轮廓中包含了轮廓的形状、波纹和粗糙度这三部分的信息,为了客观的评定表面粗糙度,必须将其信号从轮廓信号中分离出来。三维测量中所得的数据是一个二维函数,所以必须使用二维数字滤波器进行滤波8。其设计方法是:先根据一维模拟滤波器设计出相应的一维递归数字滤波器,然后将一维递归数字滤波器推广到二维递归数字滤波器,再将一维数字滤波器推广到二维时采用可分离法,即将两个一维递归数字滤波器的系通函数相乘,组成一个可分离型二维递归数字滤波器。由高通滤波器得到三维粗糙度数据,由低通滤波器得到的是波度数据,并可通过改变滤波器截止频率将形貌数据中感兴趣的部分取出,低通滤波器中的低频信号代表形貌测量中的宏观形状可以用机械方法测得9。1.2相关理论国际标准ISO11562提出用零相移的高斯滤波中线作为表面粗糙度测量中的评定中线10。高斯滤波的幅度特性是一个高斯函数,既要精确又要快速推荐的一种快速计算方法,就是以牺牲滤波器的传输精度为代价的,其传输特性偏差5%11-16。一种用高斯函数的逼近法和冲激响应不变法设计出高斯数字滤波器,并给出了其零相移的递归滤波算法。递归计算方法计算量小,因而速度快,适当增加滤波器节数,在不增加很多计算量的情况下,可以达到很高的精度。8级零相移滤波器进行滤波,其最大传输偏差大约为2%,用16级零相移滤波器进行滤波,则其最大传输偏差小于1%。这远小于国际标准17推荐的简化方法的传输偏差。在我们设计的表面粗糙度测量系统中,即使是用低效率的Visual Basic语言设计的滤波程序,上述两种滤波耗时均不到1 s,即可完成11200点的轮廓数据的滤波18。1.3相关软件工具1.3.1 MATLABMATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。本设计主要运用MATLAB的工程计算功能。1.3.2 MATCOMMathTools公司有一系列的产品,包括MIDEVA、MATCOM、Visual MATCOM、Matrix。其中Matrix 是所有产品的核心,它是一个C+数学图形图像库,里面包含了约600个经过严格测试的函数,是实现将M文件转化为C+文件的基础。MATCOM是基于Matrix的一个编译器,Visual MATCOM可以看成是一个集成到VC环境中的MATCOM。而MIDEVA是M文件的解释器和集成开发环境,它通过一个完整而强大的开发和运行M文件的环境包含并拓展了MATCOM的功能,可以和MATLAB相媲美。为了方便,通常将MathTools公司的这些产品统称为MATCOM。它是个第三方控件,很小(8M多),使用该工具可以将m脚本文件和m函数转化成相同功能的CC+文件,相比其它方法使用MATCOM具有如下优点:转换过程简单(由MATCOM工具自动实现),容易实现;可以方便的生成动态链接库文件(dll)和可执行文件(exe);不仅可以转换独立的脚本文件,也可以转换嵌套脚本文件;设置环境后,可以使用MATLAB的工具箱函数;但MATCOM也有不足对struct等类的支持有缺陷,对class数据类型;部分绘图语句无法实现或得不到准确图像,尤其是三维图像;因此在不涉及到三维做图以及m文件不大的情况下方便使用。在本设计中运用MATCOM对MATLAB所编的计算程序进行编译。1.3.3 Microsoft Visual C+Microsoft Visual C+,(简称Visual C+、MSVC、VC+或VC)微软公司的C+开发工具,具有集成开发环境,可提供编辑C语言,C+以及C+/CLI等编程语言。VC+整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C+2010。Microsoft Visual C+是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。它以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。1.4本文研究工作和章节安排第1章绪论简要介绍了本设计的研究背景,相关理论的支持,以及所要运用的软件。第2章对表面粗糙度测量中的高斯滤波快速算法理论作了具体介绍,主要是对高斯算法的理解以用于计算粗糙度的滤波中线。第3章简要介绍如何利用MATLAB来进行数值运算,以实现高斯算法求得粗糙度的中线。第4章介绍了MIDEVA作为M文件的解释器和集成开发环境,它通过一个完整而强大的开发和运行M文件的环境包含并拓展了MATCOM的功能。第5章介绍有关粗糙度的国际标准。第6章浅析MATLAB与Visual C+联合编译。2表面粗糙度测量中的高斯滤波快速算法理论下文叙述一种用高斯函数的逼近法和冲激响应不变法设计出高斯数字滤波器,并给出了其零相移的递归滤波算法,算法简洁,易于实现。递归计算方法计算量小,因而速度快,适当增加滤波器节数,在不增加很多计算量的情况下,可以达到很高的精度。这一理论方法已得到了实验验证。2.1高斯滤波器幅度特性的逼近方法I SO 11562标准规定高斯滤波器的权函数为: (2-1)其中t为空间域变量,是截止波长。是一个常量,当时,要求高斯滤波器的传输值为50%,所以=0.4697。高斯滤波器的傅里叶变换仍然是高斯函数,其幅度传输特性为: (2-2)由于=NcT,=nT,Nc为截止波长内的采样点数,n为空间波长内的采样点数,T为采样间距所以有: (2-3)根据中心极限定理,对于高斯函数的逼近函数,其时域的冲激响应的自卷积是高斯函数的一个更好的逼近,当自卷积的次数不断增加时,卷积结果最终就是高斯函数。由卷积定理可知,时域自卷积等效于频域自相乘,当自相乘的次数增加时,相乘结果亦必是高斯函数。总之,频域自卷积或时域自相乘的最终结果都趋于高斯函数的形式。根据这一规律,就可以用低阶的高斯逼近函数来设计IIR型数字滤波器,然后通过时域自卷积、频域自相乘来实现高斯滤波特性。选取 (2-4)作为的一个逼近函数,那么式(2-4)通过频域自相乘,可以构造一系列的滤波器: (2-5) (2-6) (2-7) (2-8)因为时的滤波器传输值为50%,所以=1,=0.4142,=0.1892,=0.0905,=0.0443。这里以逼近滤波器为例来说明问题。它由8个基本环节级联而成。每个基本环节如下: (2-9)即为: (2-10)由于,所以, (2-11)实质上,这是一阶巴特沃思低通滤波器的幅度平方函数。将模拟滤波器幅度平方的如下关系:,代入式(11),则: (2-12)其在s平面的左半平面只有一个极点,由此可得巴特沃思滤波器系统函数为: (2-13)即为设计高斯逼近滤波器的模拟滤波器原型。2.2冲激响应不变法设计高斯数字滤波器对式(2-13)应用冲激响应不变法,设计IIR型数字滤波器19,得到如下: (2-14)其中,当200时,同样可得对应的Z变换如下: (2-15)如此两个数字滤波器组成零相移滤波器,则总的幅频特性为,而相频特性为零,即: = (2-16)其中。幅频特性如下式所示: (2-17)这样的零相移滤波器经过8级级联,能以很高的精度逼近高斯滤波器的幅度特性20。由此得到用于表面粗糙度测量的高斯滤波流程如图1-1所示。Hd4(z)Hd4(z-1)Hd4(z)Hd4(z-1) 1表面轮廓中线 8级表面粗糙度图1-1 表面粗糙度测量的高斯滤波流程当或n=Nc时,要求传输系数为50%,所以 (2-18)由式(18)可以求得a,它是对逼近滤波器原型巴特沃思滤波器的极点进行修正,当Nc=1600时,可得a=0.0129679。2.3零相移的高斯滤波差分递归算法设零相移滤波器的输入序列为x(n),中间计算结果为r(n),滤波器输出序列为y(n),其相应的z变换为x(z)、r(z)、y(z)有,它们之间有如下的关系式: (2-19) (2-20)由于式(20)可以变为下式: (2-21)且、分别为、的z变换,所以输入信号x(n)经一级滤波后,将得到的结果反序,再经过同一滤波器,可以得到零相移滤波输出。如此的正反两向滤波的零相移滤波器,其对应的差分方程为: (2-22) (2-23)式中Nt表示评定长度上对表面轮廓的总的采样点数,m=1,2,Nt。这样的运算经8次循环就可以精确获得高斯滤波中线。从上式可以看出,每次运算都只有少量的加减和乘法操作。这种递归算法计算量小,运算速度自然就快。实验表明用8级零相移滤波器进行滤波,其最大传输偏差大约为2%,这远高于ISO1156221标准推荐的简化方法的5%。如果用16级零相移滤波器进行滤波,则滤波精度22更高,最大传输偏差只有1%,而增加的计算量是完全可以接受的。对于16级零相移滤波器22,公式(22)中的系数a应为0.0184891。更多级的零相移滤波器依然具有式(2-22)、(2-23)的形式,只是系数a不同。对一实际工件表面进行测量,选取的截止波长=0.8mm,截止波长内的采样点数为1600,采样间距为0.5,在7长度上,总共测得11200个数据,采用上述算法取中线23。由于边界作用,只有中间5长度内的数据可被用来评定表面,即用原始轮廓的中间5长度内的数据减去对应的中线数据,将得到粗糙度轮廓24,由此可计算表面粗糙度参数。2.4结论用高斯函数的逼近法设计出的高斯递归滤波算法,计算量小,计算速度快,滤波精度高,有效地解决了传统方法计算效率和滤波精度两者之间不可调和的矛盾。用文中介绍的8级零相移滤波器进行滤波,其最大传输偏差大约为2%,用16级零相移滤波器进行滤波,则其最大传输偏差小于1%。这远小于国际标准推荐的简化方法的传输偏差。在我们设计的表面粗糙度测量系统中,即使是用低效率的Visual Basic语言设计的滤波程序,上述两种滤波器耗时均不到1 s,即可完成11200点的轮廓数据的滤波。可见,适当增加滤波器节数,在不增加很多计算量的情况下,可以达到很高的精度。文中的方法可以推广用于表面粗糙度三维测量中的参考表面的确定,这种高精度和高效率的优越性更为突出。3高斯算法的Matlab实现Matlab提供了两种运行方式,即命令行方式和M文件方式。两种运行方式各有特点。命令行运行方式可以通过直接在命令窗口输入命令行来实现计算或作图功能。其方法就是打开Matlab界面,在命令窗口输入命令运行即可。M文件运行方式在Matlab窗口中单击File菜单,然后依次选择NewM-File,打开M文件输入运行界面。与命令行方式相比,M文件方式的优点是可调试,可重复应用。3.1优势Matlab的应用范围非常广,包括25信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用Matlab函数集)扩展了Matlab环境,以解决这些应用领域内特定类型的问题。Matlab产品族可以用来进行以下各种工作: 数值分析 数值和符号计算 工程与科学绘图 控制系统的设计与仿真 数字图像处理技术 数字信号处理技术 通讯系统设计与仿真 财务与金融工程(1)友好的工作平台和编程环境Matlab由一系列工具组成。这些工具方便用户使用Matlab的函数和文件,其中许多工具采用的是图形用户界面。包括Matlab桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着Matlab的商业化以及软件本身的不断升级,Matlab的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的Matlab提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,且能够及时地报告出现的错误及进行出错原因分析。(2)简单易用的程序语言Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的Matlab语言是基于最为流行的C语言基础上的,因此语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是Matlab能够深入到科学研究及工程计算各个领域的重要原因。(3)强大的科学计算机数据处理能力Matlab是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C+。在计算要求相同的情况下,使用Matlab的编程工作量会大大减少。(4)出色的图形处理功能Matlab自产生之日起就具有方便的数据可视化功能,可以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的Matlab对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),Matlab同样表现了出色的处理能力。(5)应用广泛的模块集合工具箱Matlab对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。(6)实用的程序接口和发布平台新版本的Matlab可以利用Matlab编译器和C/C+数学库和图形库,将自己的MMatlab程序自动转换为独立于Matlab运行的C和C+代码。允许用户编写可以和Matlab进行交互的C或C+语言程序。另外,Matlab网页服务程序还容许在Web应用中使用自己的Matlab数学和图形程序。Matlab的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是Matlab函数的子程序库,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。(7)应用软件开发在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括针对性对连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。3.2高斯算法的Matlab的实现方法以下所需运用差分方程中 (2-22) (2-23) x(m)为输入变量即表面测量所得的数据,r(m)为中间变量,y(m)为输出变量即所求滤波中线的数据Matlab程序的流程图:代入2-22式 代入2-23式滤波中线8次循环表面轮廓数据 图3-1 Matlab高斯滤波流程图所编写的程序如下:clear; x=load(F:Matlabworkz.txt);%z.txt为表面轮廓数据 ff(1:11200)=x(1:11200); z=x(1:11201); a=0.0129679; m=11200; r(8,11200)=0; y(11201)=0; for i=1:7 for j=2:m r(j)=r(j-1)+a*ff(j)-r(j-1); end for j=0:m-1 y(11200-j)=y(11200-j+1)+a*r(11200-j)-y(11200-j+1); end ff=y; end j=1:m+1; plot(j,z,b-,j,y,k-);运用Matlab运行后的结果如下: 图3-2 高斯滤波图示注:其中黑线为粗糙度滤波中线。其运行结果符合理论要求,证实了程序设计思路正确。在滤波中线的前端及后端存在边缘效应,不能用来作为评定中线,这也是高斯快速滤波理论中提到的只将中间的5作为滤波中线。4 Matcom的运用Matcom是mathTools公司推出的一个能将M文件转化成相同功能C+代码的工具。相比Matlab自带的编译器Compiler,用Matcom转化代码要简单和方便得多。本文以VC6.0和Matcom为例,详细介绍如何利用Matcom进行VC与Matlab的联合编程。安装Matcom前要已求安装VC6.0。在安装过程中出现选择编译器对话框,选择“是”(图4-1)。出现选择是否安装Matlab时,选“否”。其他选项采用默认设置。Matcom可以独立于Matlab运行,但需要外部的C+编译器,指定Matlab的位置是为了让编译文件中需要的一些系统函数找到路径用的。图4-1 安装图示安装完成后,启动界面MIDEVA(图4-2)。MIDEVA集成开发环境包括命令行窗口、变量列表窗口、命令列表窗口和编译链接信息窗口等几部分,并有详细的帮助文档。 图4-2 MIDEVA启动界面Matcom命令输入方法与Matlab相同。如果安装在中文版操作系统时,输入命令前加一空格。(如图4-3)。 图4-3 Matcom输入操作图示4.1详细介绍如何将m文件编译后放入VC中。4.1.1新建m文件启动MIDEVA,File-New,新建如下Test1.m文件:x=1:0.1:10; y=sin(x); plot(x,y);将文件保存(如图4-4)。图4-4 新建m文件m文件保存的默认位置为:Matcom安装目录Matcom45,生成的C+文件保存的默认位置为:Matcom安装目录Matcom45Debug,本例Matcom安装目录为C盘即C:Matcom45Debug,在该目录下将会产生Test1.h、Test1.cpp、Test1.r 、Test1.obj文件。4.1.2在VC中用MFC Wizard(exe)创建工程在VC中用MFC Wizard(exe)创建一个基于对话框名为Example的工程。在面板上添加一个ID为IDC_BUTTON1按扭。将C:Matcom45Debug目录下的Test1.cpp文件的内容拷贝到void CExamleDlg:OnButton1()下,(如图4-5)。图4-5 文件拷贝将C:Matcom45lib下的matlib.h和v4501v文件和C:Matcom45debug下的Test1.h文件拷贝到工程Example目录下,然后在VC中将库文件和头文件加入到工程中:工程-添加工程-Files,选择刚刚拷贝到Example目录下的matlib.h、v4501v和Test1.h文件(如图4-6)。图4-6 拷贝文件图示在ExamleDlg.cpp中加入如下代码:#include matlib.h#include Test1.h在void CExamleDlg:OnButton1()中分别添加一个初始化类库调用函数和一个结束类库调用函数(如图4-7)。图4-7 添加函数5粗糙度国际标准5.1基本术语从原始轮廓上计算所得的参数P。从粗糙度轮廓上计算所得的参数R。从波纹度轮廓上计算所得的参数W。坐标系:确定表面机构参数的坐标体系,其轴线形成一右旋笛卡尔坐标系,X轴与中线方向一致,Y轴也处于实际表面上,Z轴则在材料到周围介质的外延方向上。实际表面:物体与周围介质分离的表面。表面轮廓:平面与实际表面相交所得的轮廓。原始轮廓:即几何轮廓。注:原始轮廓是评定原始轮廓参数的基础。粗糙度轮廓:对原始轮廓抑制长波后所得轮廓。注:粗糙度轮廓是评定粗糙度轮廓参数大基础。波纹度轮廓:经滤波后抑制长波和短波所得的轮廓。中线:具有几何轮廓形状并划分轮廓的基准线。取样长度:用于被判别评定轮廓的不规则特征的轴向上的长度。评定长度:用于判别被评定轮廓的轴方向上的长度。轮廓峰:连接(轮廓和轴)两相邻交点向外(从材料到周围介质)的轮廓部分。轮廓谷:连接两相邻交点向内(从周围介质到材料)的轮廓部分。轮廓单元:轮廓峰和轮廓谷的组合。注:在取样长度始端或末端的评定轮廓的向外部分和向内部分看做是一个轮廓峰或一个轮廓谷,当在若干个连续的取样长度上确定若干个轮廓单元时,在每一个取样长度的始端或末端评定的峰和谷仅在每个取样长度的始端计入一次峰谷值26。5.2表面轮廓参数定义Rp:在一个取样长度内,最大的轮廓峰高。Rv:在一个取样长度内,最大的轮廓谷深Rz:在一个取样长度内,最大的轮廓峰高和最大的轮廓谷深之和的高度Rc:在一个取样长度内,轮廓单元高度的平均值Rt:在评定长度内最大轮廓峰高和最大轮廓谷深之和平均值Ra:在一个取样长度内,纵坐标Z(x)绝对值的算术平均数Rq:在一个取样长度内,纵坐标值Z(x)的均方根Rsk:在一个取样长度内,纵坐标值Z(x)三次方的平均值与Rq的比值Rku:在一个取样长度内,纵坐标Z(x)四次方的平均值与与Rq的比值间距参数RSm:在一个取样长度内,轮廓单元宽度的平均值混合参数R:在一个取样长度内,纵坐标斜率的均方根值曲线和相关参数Rmr(c):在一个取样长度内,在给定水平位置上轮廓实体材料长度与评定长度的比率:轮廓支承率随水平位置而变的关系曲线Rm:给定支承比率的两个水平截面之间的垂直距离5.3用Matlab求得粗糙度参数在计算出粗糙度的滤波中线后需要以下计算过程可算得国际标准中所规定的参数,其计算过程如下:%高度参数l=x(1601:3200);%1个取样长度ll=y(1601:3200);p=max(l);b=find(l=p);c=ll(b);Rp=p-c;%Rpp=min(l);b=find(l=p);c=ll(b);Rv=c-p;%RvRz=Rp+Rv;%Rzxx=x(1601:9600);%1个取评定长度yy=y(1601:9600);p=max(xx);b=find(xx=p);c=yy(b);RRp=p-c;%Rpp=min(xx);b=find(xx=p);c=yy(b);RRz=c-p;%RzRt=RRp+RRz;%Rt %幅度参数(纵坐标平均值) mysum=0; for i=1601:3200 mysum=mysum+abs(x(1601); end Ra=mysum/1600;%Ra mysum=0; for i=1601:3200 mysum=mysum+x(1601)2; end g=mysum/1600; Rq=sqrt(g);%Rqmysum=0; for i=1601:3200 mysum=mysum+x(1601)3; end c= mysum/1600; d=Rq3; Rsk=c/d;%Rsk mysum=0; for i=1601:3200 mysum=mysum+x(1601)4; end c= mysum/1600; d=Rq4; Rku=c/d%Rku6 Matcom与Visual C+联合编译技术Visual C+27是目前综合性最高、最强大的软件开发工具之一。Matlab是一种高性能的数值计算和可视化软件,在数值分析、信号处理、系统辨识、特殊函数和图形等方面具有广泛的应用。由于测试结果有上百万个数据量,且数据存储在数据库中,为了便于研究处理数据的方法,获得可靠的测试结果,本文探讨利用Microsoft Visual C+ 6.0数据库技术和Matlab6.5强大的数值计算和图形显示并联合编制软件对数据进行处理。我们把 Matlab与Visual C+结合起来,简化复杂的数据处理方法研究,体验数据处理的工作效率和即时性。此系统在某次数据处理系统中得到广泛的应用。61基本技术简介6.1.1数据处理系统的关键技术数据处理系统是利用Microsoft Visual C+ 6.0数据库技术和Matlab 6.5 强大的数值计算和图形显示并联合处理测量数据的系统,数据处理系统涉及到Microsoft Visual C+ 6.0数据库技术和Microsoft Visual C+ 6.0与Matlab的接口技术,为了能够使系统具有可移植性和即时性,系统使用的数据库技术是ADO数据库访问技术,Microsoft Visual C+ 6.0与Matlab的接口技术是引擎技术。6.1.2 ADO数据库访问技术ADO(ActiveX Data Object)是一种基于COM(组件对象模型)的自动化接口(IDispatch)技术,并以OLE DB(对象连接和镶入的数据库)为基础,经过OLE DB包装后的数据库访问技术,利用它可以快速的创建数据库应用程序。这要比ODBC API、DAO、RDO都要简单易用、灵活。ADO数据库28开发的基本流程如下:(1)初始化COM库,引入ADO库定义文件。(2)用Connection对象连接数据库。(3)利用建立好的连接,通过三个智能指针执行查询、处理结果记录集和SQL命令,使用完毕后关闭连接释放对象。6.1.3初始化COM库(1)在MFC中采用一种方法来实现初始化COM这种方法只需要一条语句便可以自动为我们实现初始化COM和结束时关闭COM的操作。引入ADO库定义文件,用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dll的附属资源中,只需要直接用#import引用它即可。可以直接在Stdafx.h文件中加入下面语句来实现: #import c:program filescommon filessystemado msado15.dll no_namespace rename (EOF, adoEOF) 三个智能指针,数据处理系统使用前面用#import语句引用类型库时,生成的包装类.tlh中声明的智能指针中有这三个_ConnectionPtr、_RecordsetPtr和_CommandPtr指针,数据处理系统通过这三个智能指针使用ADO的连接数据库、SQL命令、记录集的遍历、更新操作。(2)MATLABMatlab与Visual C+的接口技术29Matlab系统提供一个非常重要的组件Matlab应用程序接口,它可以向MSATLAB环境传送数据也可从Matlab环境接收数据;Visual C+可以调用Matlab编写的程序,在这里数据处理系统采用Matlab引擎库,Matlab引擎库包含了若干个控制Matlab引擎的函数:engOpen :启动MATLAB引擎 engClose :关闭MATLAB引擎 engGetArray :从MATLAB引擎中获取一个MATLAB矩阵 engPutArray :向MATLAB引擎发送一个MATLAB矩阵 engEvalString :执行于一个MATLAB命令或自编的MATLAB函数 engOutputBuffer :创建一个存储MATLAB文本输出的缓冲区 (3)Matlab与Visual C+的数据传输30 Matlab与Visual C+的数据传输需要三个步骤
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025幼儿园暑假安全教案5篇
- 人教版三年级上册数学测评方案计划
- 2025年厂房改造协议书
- 2025健康促进学校师资培训计划
- 幼儿园爱国卫生保健工作计划
- 铝合金门窗施工计划与后期维护保障措施
- 2025年离婚出让股权协议书
- 幼儿园大班配班教师行为习惯培养计划
- 建筑施工企业安全生产费用提取和使用计划
- (2025年标准)修建马路协议书
- 最新-骨髓炎-课件
- 初中全册英语常用3500词分类大全
- 电视摄像与画面编辑第1章课件
- 幕墙预埋件专项施工方案
- 白虎汤分析课件
- 山东青年政治学院校徽校标
- 2022版义务教育英语课程标准之学业质量标准与考试评价解读PPT
- (高清正版)JJF(浙)1102-2014生物人工气候箱校准规范
- 完整解读新版《义务教育课程方案》2022年《义务教育课程方案(2022版)》PPT课件
- 《文殊真实名经》
- 幼儿各年龄段发展评估指南
评论
0/150
提交评论