计算机辅助设计与制造(第二版)教学课件 袁泽虎 第3章工程数据的处理

上传人:w****i 文档编号:94557354 上传时间:2019-08-08 格式:PPT 页数:42 大小:358.50KB
返回 下载 相关 举报
计算机辅助设计与制造(第二版)教学课件 袁泽虎 第3章工程数据的处理_第1页
第1页 / 共42页
计算机辅助设计与制造(第二版)教学课件 袁泽虎 第3章工程数据的处理_第2页
第2页 / 共42页
计算机辅助设计与制造(第二版)教学课件 袁泽虎 第3章工程数据的处理_第3页
第3页 / 共42页
计算机辅助设计与制造(第二版)教学课件 袁泽虎 第3章工程数据的处理_第4页
第4页 / 共42页
计算机辅助设计与制造(第二版)教学课件 袁泽虎 第3章工程数据的处理_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《计算机辅助设计与制造(第二版)教学课件 袁泽虎 第3章工程数据的处理》由会员分享,可在线阅读,更多相关《计算机辅助设计与制造(第二版)教学课件 袁泽虎 第3章工程数据的处理(42页珍藏版)》请在金锄头文库上搜索。

1、第3章 工程数据的处理 从总体上说,处理工程数据的方法有以下三种: 1程序化处理:在编程时将数据以一定的形式直接放于程序中。 特点:程序与数据结合在一起。 缺点:数据无法共享,增大程序的长度。 2文件化处理:将数据放于扩展名为.DAT的数据文件中,需要数据时,由程序来打开文件并读取数据。 特点:数据与程序作了初步的分离,实现了有条件的数据共享。 缺点:(1)文件只能表示事物而不能表示事物之间 的联系。 (2)文件较长。,(3)数据与应用程序之间仍有依赖关系。 (4)安全性和保密性差。 3数据库管理:将工程数据存放到数据库中,可以克服文件化处理的不足。 特点:(1)数据共享。 (2)数据集中。

2、(3)数据结构化,既表示了事物,又表示了事物之间的联系。 (4)数据与应用程序无关。 (5)安全性和保密性好。 由于CAD作业的性质以及数据处理的规模大小的不同,因而必须根据实际情况选用上述三种数据处理方式的其中一种。方式的选择原则是:有利于提高CAD作业的效率,降低开发的成本。,3.1 数表的程序化处理 3.1.1 一维数表的处理 定义:只由一个已知变量查取所需数据的表格,称为一维数表。 例:表3-1为由小链轮齿数Z查取齿数系数K的一维数表,试对其进行程序化处理。 表3-1,用Turbo C语言编程如下(yyyy1.c): main() int i,Z1,ip=20; int Z14=9,1

3、1,13,15,17,19,21,23,25,27,29,31,33,35; float K14=0.446,0.555,0.667,0.775,0.893,1.00,1.12,1.23, 1.35 , 1.46,1.58,1.70,1.81,1.94; printf(“请输入链轮齿数Z1:”); scanf(“%d”, ,3.1.2 二维数表的处理 定义:需由二个已知条件才能确定一个未知数据的表格,称为二维数表。 例:表3-2用于链轮设计中,由节距t和链轮齿数z查取链轮轴孔最大直经dkmax和齿侧凸缘最大直经dh,试对其进行程序化处理。 表3-2,取变量: 齿数zZi i=1,2,3,8 节

4、距t Ti i=1,2,3,10 dhDHi,j i=1,2,3,8 j=1,2,3,10 dkDKi,j i=1,2,3,8 j=1,2,3,10,用Turbo C语言编程如下(yyyy2.c): main() int i,j,Z1,ip=20,jp=20; float T1; int Z8=11,13,15,17,19,21,23,25; float T10=9.525,12.7,15.875,19.05,25.4,31.75,38.1,44.45, 50.8,63.5; int DH810=22,30,37,45,60,76,91,106,121,152, 28,38,48, 57,77

5、, 96,116,135,155,193,35,46,58,70,93,117,140,164, 187, 235,41,54,68,82,110,137,165,193,220,275, 47, 63,79, 94,126,158,189,221,253,316, 53,71,89,107, 142,178, 214,250,285,357, 59,79,99,119,159,199, 238,278,318, 398,65,87,109,131,175,219,263,307,315,438,; int DK810=11,18,22,27,38,50,60,71,80,103, 15,22

6、,30,36,51,64, 79,91,105,132, 20,28,37,46,61,80,95,111,129, 163, 24,34,45, 53,74,93,112,132,152,193,29,41,51,62,84,108,129,153,177, 224,33,47,59,72,95,122,148,175,200,254, 37,51,65,80,109, 137,165,196,224,278, 42,57,73,88,120,152,184,217,249,310;,printf(“请输入链轮齿数Z1:”); scanf(“%d”, ,3.2 数表的文件化处理 1用编辑软件

7、产生顺序文件 2用程序生成顺序文件 main() int i; int a10=1,2,3,4,5,60,70,80,90,100; FILE *fp; fp=fopen(“AA.DAT”, “w”); for(i=0;i5;i+) fprintf(fp, “%d ”; ai); fprintf(fp, “n”); for(i=5;i10;i+) fprintf(fp, “%d ”; ai); fclose(fp);,3文件的读取和检索 以表3-1由小链轮齿数Z查齿数系数K的文件化处理为例: 建立数据文件ZK.DAT如下: 9 11 13 15 17 19 21 23 25 27 29 31

8、33 35 38 0.446 0.555 0.667 0.775 0.893 1.0 1.12 1.23 1.35 1.46 1.58 1.70 1.81 1.94 2.12 用Turbo C语言编程如下(yyyy3.c):,main() int i,z1,z15,jp=20; float k15; FILE *fp; fp=fopen(“ZK.DAT”, “r”); for(i=0;i15;i+) fscanf(fp, “%d”, ,3.3 一维数表的插值处理 由于一维数表只给出了结点X1,X2,Xn对应的函数值Y1,Y2,Yn,而对于非结点上的函数值,如对表3-1,欲取非结点Z1=18或Z

9、1=24时的K值,则必须用插值法解决。 1线性插值法: 已知:两点(X1,Y1),(X2,Y2) 求: 位于X1,X2之间的X坐标对应的Y 可用如下的线性插值公式: Y=Y1+(Y2-Y1)(X-X1)/(X2-X1),仍以小链轮齿数Z查齿数系数K为例,具有线性插值功能的文件化处理程序如下(yyyy4.c): main () int i,z1,z15,x1,x2,ip=20,key1=0; float y1,y2,kz,k15; FILE *fp; fp=fopen(“zk.dat“, “r“); for(i=0;i15;i+) fscanf(fp, “%d“, i+) if(zi=z1) ,

10、kz=ki; key1=1; i=16; if(key1=0) for(i=0;i15;i+) if(ziz1) x1=zi-1; y1=ki-1; x2=zi; y2=ki; kz=y1+(y2-y1)*(z1-x1)/(x2-x1); printf(“n z=%d, k=%f“, z1, kz); ,2拉格朗日二次插值(抛物线插值): 已知:三点(X1,Y1),(X2,Y2),(X3,Y3) 求:位于X1,X2之间或X2,X3之间的X坐标对应的Y可用如下的抛物线插值公式: Y=(X-X2)(X-X3)/(X1-X2)(X1-X3)*Y1+(X-X1)(X- X3)/(X2-X1)(X2-X

11、3) *Y2+(X-X1)(X-X2)/(X3- X1)(X3-X2)*Y3 抛物线插值的C语言函数如下: float larg(x1,y1,x2,y2,x3,y3,x0) int x1,x2,x3,x0; float y1,y2,y3; int i,j,x3; float p,y0,y3; x0=x1; y0=y1; x1=x2; y1=y2; x2=x3; y2=y3; y0=0.0; for(i=0;i3;i+) p=1.0; for(j=0;j3;j+) if(i!=j) p=p*(x0-xj)/(xi-xj); y0=y0+p*yi; return(y0); ,3.4 线图的处理 线

12、图的处理方法有两种,一种是将其转换成表格,对非表格节点采用插值法求得;另一种方法是将其写成公式表示。 3.4.1 线图的表格化处理 如果能把线图转换成表格,那么就可以使用数表的处理方法对其进行处理。现有图3.1所示线图,下面对其进行表格化处理:,在图3.1所示线图上取n个节点(X1,Y1)(X2,Y2)(Xn,Yn),将其制成表格如表3-3所示。节点数取得越多,精度就越高。节点的选取原则是使各节点的函数值不致相差很大。 图3.1 线图,将线图表格化后,再参照数表处理方法,用程序化或文件化处理方法进行处理。 3.4.2 线图的公式化处理 上述线图的表格化处理方法,不仅工作量较大,而且还需占用大量

13、的存储空间。因此,理想的线图处理方法是对线图进行公式化处理。 线图的公式化处理有两种方法。一种是找到线图原来的公式,另一种是用曲线拟合的方法求出描述线图的经验公式。曲线拟合的方法很多,常用的是最小二乘法。下面介绍曲线拟合的最小二乘法。,表3-3,1最小二乘法拟合的基本原理 已知:线图曲线I 求:多项式y=Pm(x),它表示的曲线为II 图3-2 数据的曲线拟合 在曲线I上取n个点(xi,yi) i=1,2,3,n 设拟合公式为 因此每一结点处的偏差为 偏差的平方和为,2最小二乘法的多项式拟合 设拟合的m次多项式为 则结点偏差的平方和为 因为是已知的一组数,它们在式中可看作常数,因此可以看作是的

14、函数,即 求出为极小时的的值,并将它们代入式(3-1)中,所得的多项式即为所求的拟合曲线方程式。此时的问题是求偏差平方和的极值,欲使为极小,必须使,于是 的条件也就为 即,3.5 工程数据的数据库管理 3.5.1 数据库系统及管理 数据库系统是一种能够“管理大量的、持久的、可靠的、共享的数据的工具”,通俗地讲,数据库系统可把诸如表格、卡片、设备及零部件等数据有组织地集合在一起,输入到计算机,然后通过计算机处理,再按一定要求输出结果。 虽然数据库也是以文件方式存储数据,但它是数据的一种高级组织形式。在应用程序和数据库之间,有一个新的数据管理软件DBMS(DataBase Management S

15、ystem),即数据库管理系统。数据库管理系统是一组专门处理、访问数据库的程序,它可完成数据库的定义、管理、建立、维护等操作,是用户与数据库之间的接口。,每一种数据库管理系统都是基于某种数据模型的。数据模型是指数据库内部数据的组织方式,描述了数据之间的各种联系。现行数据库系统中,常用的数据模型有以下三种: 1层次模型 用树形结构表示实体之间联系的模型称为层次模型,它能描述一对多的关系。 2网状模型 这种模型是用网状数据结构来描述数据库的总体逻辑结构,它体现了事物之间“多对多”的关系。,3关系模型 上述两种模型都是结构化模型,使用时,事先均需根据应用的需要,将数据之间的逻辑关系固定下来,所以缺乏柔性。 关系模型把实体与实体间的联系归结为二维表的组织结构,每一张二维表称为一个关系,其中表中的每行为一个记录,每列为数据项(称为字段)。 关系模型的特点是结构比较简单,但能够处理复杂的实体之间的联系,因此得到广泛的应用。目前国内普遍应用的FoxBASE,FoxPro都是关系数据库系统,3.5.2 FoxPro关系型数据库系统 1FoxPro系统简介 (1) 命令。在FoxPro语言中,对数据的操作都是由命令来完成的。命令相当于一般高级语

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号