




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、工程数据的处理方法工程数据的处理方法及及CAD程序编制程序编制CAD/CAM技术基础技术基础在在机械设计机械设计过程中,常常需要从有关的过程中,常常需要从有关的或或中查找中查找及检索及检索有关曲线有关曲线、表格数据表格数据,以获得设计或校核计算时所,以获得设计或校核计算时所需要的需要的各种系数各种系数、参数参数等。等。如何将这种如何将这种人工查找人工查找转变成在转变成在CAD进进程中的程中的高效高效、快速处理快速处理,这就涉及,这就涉及工程数据的处理方法工程数据的处理方法及及CAD程程序编制序编制技术技术。目前,在目前,在中,对中,对工程数据工程数据进行进行处理的方法处理的方法主要有以主要有以
2、下下三种三种:(1) 将将工程数据工程数据转化为转化为程序程序存入计算机内存;存入计算机内存;(2) 将将工程数据工程数据转化为转化为数据文件数据文件存入计算机外存;存入计算机外存;(3) 将将工程数据工程数据转化为转化为结构结构存入数据库。存入数据库。4.3 工程数据的处理方法及工程数据的处理方法及CAD程序编制程序编制公差配合的查询在机械设计中,常用在机械设计中,常用给出机械零部件的给出机械零部件的设计参数设计参数。 设计计算时,需根据给定条件从设计计算时,需根据给定条件从中选取需要的值。在编制中选取需要的值。在编制机机械械CAD计算程序计算程序的时候,应将的时候,应将数表数表作作程序化处
3、理程序化处理,以便调用。,以便调用。机械设计过程中所使用的工程技术机械设计过程中所使用的工程技术很多。很多。通常,通常,按按数表数表中的数据中的数据有无函数关系有无函数关系,可,可分为分为:数表数表简单数表简单数表列表函数表列表函数表有计算公式的列表函数表有计算公式的列表函数表无计算公式的列表函数表无计算公式的列表函数表按按数表的数表的维数维数,又可又可分为分为:数表数表一维数表一维数表二维数表二维数表n维数表等维数表等4.3.1 数表的分类及存取数表的分类及存取1. 数表的分类数表的分类包角包角70 80 90 100 110 120 130 140 K0.560.620.680.730.7
4、80.820.860.89表表4-1 包角系数包角系数 K一维数表一维数表表表4-2 V 带长度系数带长度系数 KL二维数表二维数表在在CAD作业作业中,进行工程数表存取的中,进行工程数表存取的一般原则一般原则如下:如下: 数据数据存入计算机的形式应考虑到存入计算机的形式应考虑到检索检索的方便,通常将的方便,通常将数据数据按一按一定规则进行排列,然后存入定规则进行排列,然后存入数组数组。 一维数表一维数表采用采用一维数组一维数组进行存储。进行存储。 二维数表二维数表采用采用二维数组二维数组进行存储。进行存储。 查取数据查取数据时用时用逻辑判断语句逻辑判断语句进行比较,进行比较,检索检索出所需要
5、的数据。出所需要的数据。 (1)一维数表的存取一维数表的存取现以现以例例4-1 为例说明为例说明一维数表一维数表的存取方法。的存取方法。例例4-1 一一平键联接中的平键联接中的平键基本尺寸数据平键基本尺寸数据如如表表4-3所示,试编写程所示,试编写程序根据序根据轴径轴径d 查取相应的查取相应的键宽键宽b 和和键高键高h 。 2. 数表的存取数表的存取表表4-3 平键尺寸与轴径关系(摘自平键尺寸与轴径关系(摘自GB1095-79) 规格规格(i)轴径轴径d(mm)b (mm)h (mm)规格规格(i)轴径轴径d(mm)b (mm)h (mm)0自自682252230871810336303810
6、82101244738441283121755844501494172266950581610解:解:表中表中轴径轴径d 检索检索键宽键宽b 和和键高键高h 尺寸尺寸时,时,首先首先需要判断需要判断轴径轴径d 所在的范围。所在的范围。根据根据数表数表的这一特点,在程序中的这一特点,在程序中存储存储该数表时,该数表时,可用可用两个两个一维数组一维数组 b 10和和 h10分别存储分别存储键宽和键高的值,键宽和键高的值,再用再用另一个另一个一维数组一维数组 d 11存储轴径的范围界限值。存储轴径的范围界限值。在在CAD作业作业中,当中,当需要检索需要检索键宽和键高时,键宽和键高时,先用先用条件语句
7、条件语句判断判断轴径轴径 d 所在的范围,在此范围内所在的范围,在此范围内便可检索便可检索出出键宽键宽和和键高键高的数据值。的数据值。依据这一思想,实现依据这一思想,实现表表4-3的数表存取的的数表存取的程序编写程序编写如下:如下: /* chp4_01. c */# include main () static float d11 = 6.0, 8.0, 10.0, 12.0,17.0, 22.0, 30.0, 38.0, 44.0, 50.0, 58.0, b10 = 2.0, 3.0, 4.0, 5.0, 6.0, 8.0, 10.0, 12.0, 14.0, 16.0, h10 = 2
8、.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 8.0, 9.0, 10.0; float dd, bb, hh; int i; puts (Please input d = ? n); scanf (%f, &dd); if (dd d10) puts (The data is out of the range!n); exit (1); for (i=0; i10; i+) if (dd= di+1) bb = bi; hh = hi; printf (b=%f, h=%fn, bb, hh); exit(2); 现以现以例例4-2 为例说明为例说明二维数表二维
9、数表的存取方法。的存取方法。例例4-2表表4-2所示为所示为V 长度系数长度系数 KL,如果,如果V带的截面型号为带的截面型号为A型,型,内周长度为内周长度为560mm,试编写程序试编写程序在该表中在该表中查取查取相应的长度系数相应的长度系数KL。解:解:对本例对本例二维数表二维数表,首先首先需给需给资料名称资料名称加注加注序号序号,即给,即给数表的数表的行和列行和列加注序号加注序号: 在在行向行向加注序号加注序号 i031(共(共32种内周长度),种内周长度), 在在列向列向加注序号加注序号 j06 (共(共7种种V 带类型)带类型) 。 然后就可以然后就可以定义定义一个一个二维数组二维数组
10、将数表中的数据将数表中的数据计算机。计算机。 在查表时在查表时,只要,只要其数据的其数据的位置序号位置序号(i,j),即可,即可对应对应的数据值。的数据值。 对于对于本例本例,即,即A型截面型截面所对应的所对应的列序号列序号为为 j1,内周长内周长为为560mm所对应的所对应的行序号行序号为为 i2,查取的,查取的V带带长度系数长度系数KL 的程序如下:的程序如下:(2)二维数表的存取二维数表的存取 i 截面型号截面型号 O A B C D E F 内周长度内周长度(mm) 0 450 0.89 1 500 0.91 2 560 0.94 0.80 . . . . . . . . . . .
11、. . . . . . . 29 1150 1.12 30 1400 1.15 31 1600 1.18表表4-2 V 带长度系数带长度系数 KL # include main () static float kl327=0.89, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 0.91, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 0.94, 0.80, 100.0, 100.0, 100.0, 100.0, 100.0, . . .; int i, j; float kl1; i=2; j=1; kl1 = kl
12、 i j; if (fabs(kl1-100.0) 1.0e-6) printf (THE DATA OUT OF THE TABLE!); else printf (kl = %f, kl1); 对于对于中出现的中出现的空格空格,应在存入计算机时用一个适当的有别,应在存入计算机时用一个适当的有别于数表中其它数据的于数表中其它数据的数字数字来代替,并在来代替,并在中使用中使用判断语句判断语句进行检进行检查。查。在在本例程序本例程序中使用数字中使用数字“100.0”来代替来代替空格空格,并使用,并使用判断语句判断语句:“ “ if (fabs (kl1-100.0) = 4900.0) retu
13、rn(O); else if (n 677.0*pow(p, 1.454) return(O); else if (n = 3400.0) return( A ); else if (n 100.0*pow(p, 1.486) return(A); else if (n = 2400.0) return(B); else if (n 24.0*pow(p,1.47) return(B) else if (n = 1500.0) return(C); else if (n 7.0*pow(p, 1.488) return(C); else if (n = 1200.0) return(D); e
14、lse if (n 1.16*pow(p, 1.545) return(D); else if (n = 700.0) return(E); else if (n 0.329*pow(p, 1.5) return(E); else return(F);表表4-a列表函数列表函数xx1x2x3xixnyy1y2y3yiyn由于由于只能给出只能给出结点结点处的处的函数值函数值 ,当,当自变量自变量为结点的中间值时,就要用为结点的中间值时,就要用插值法插值法求取其函数值。求取其函数值。123,inx x xxx123,iny yyyy插值法的基本思想插值法的基本思想:是在:是在插值点插值点附近选取几
15、个合适的附近选取几个合适的结点结点,用这些选取的点用这些选取的点一个一个简单函数简单函数 g(x),在此小段上用,在此小段上用 g(x)代替代替原来函数原来函数 f(x),这样,这样插值点的函数值插值点的函数值就用就用 g(x)的值的值来代替。来代替。 因此,因此,插值的实质问题插值的实质问题是如何是如何构造构造一个既简单又具有足够精一个既简单又具有足够精度的度的函函数数 g(x)。设有一用设有一用数据表格数据表格给出的给出的列表函数列表函数 ,如下表如下表所示:所示:( )yf x4.3.3 列表函数表的插值计算列表函数表的插值计算就是就是构造构造一个一个来代替来代替,如如图图4-8所示。所
16、示。插值步骤插值步骤如下:如下:图图4-8线性插值线性插值 从表格中从表格中选取选取两个相邻的两个相邻的 x i 、x i+1 ,满足下列条件满足下列条件: x i x x i+1; 过过(x i, y i )及()及( x i+1, y i+1)两点两点连直线连直线 g(x) 代替代替原来的函数原来的函数 f(x),则,则 x 的函数值的函数值 y 为为 11()iiiiiiyyyyxxxx(4-6)1. 一维列表函数表的插值一维列表函数表的插值(1)线性插值线性插值线性插值线性插值是一种既简单又常用的是一种既简单又常用的插值算法插值算法,在,在机械机械CAD计算程计算程序序中经常用到,将中
17、经常用到,将此算法此算法编写的编写的一维线性插值函数一维线性插值函数如下:如下:float lip( float x, float y, int n, float t ) int i ; for( i = 0; i = n3; i+ ) if ( t = xi+1 ) goto a; i = n2;a: return ( yi + ( yi+1 yi)*(txi)/(xi+1xi);(1)该函数该函数中用中用一维数组一维数组 x ,y 分别分别存储存储数表中的数表中的自变量数据自变量数据和和函数值数据函数值数据;(2)n 为数组为数组元素的个数元素的个数,数组元素的下标从,数组元素的下标从 0
18、 变化变化到到 n1;(3)t 为为插值点插值点的自变量数值。的自变量数值。例例4-3 已知已知V 带带传动小带轮传动小带轮包角包角1= 125.4,由,由表表4-1采用采用线性线性插值算法插值算法查取所对应的查取所对应的包角系数包角系数K。/* chp4_03.c */# include main () float lip(float x, float y, int n, float t); static float rf16 = 70.0, 80.0, 90.0, 100.0, 110.0, 120.0, 130.0, 140.0, 150.0, 160.0, 170.0, 180.0,
19、190.0, 200.0, 210.0, 220.0, krf16 = 0.56, 0.62, 0.68, 0.73, 0.78, 0.82, 0.86, 0.89, 0.92, 0.95, 0.98, 1.0, 1.05, 1.1, 1.15, 1.2; float krf1; krf1 = lip ( rf, krf, 16, 125.4 ); printf ( krf1 = %f, krf1 );解:解:将将此数据此数据的检索过程编写成的检索过程编写成计算机程序计算机程序如下:如下: 在在中中上述上述一维线性插值函数一维线性插值函数 lip() 执行执行一维线性插值一维线性插值运算运算。
20、程序运行结果程序运行结果如下:如下: krf1 = 0.84160000即,根据给定的即,根据给定的小带轮包角小带轮包角1= 125.4,通过,通过线性插值算法线性插值算法查取所查取所对应的对应的包角系数包角系数K = 0.84160000 。(2) 抛物线插值抛物线插值用用 来代替来代替 时时,仅利用了,仅利用了两个结点两个结点上的信息,因此上的信息,因此误差较大,为了减少误差可利用误差较大,为了减少误差可利用三个结点三个结点上的信息,采用上的信息,采用抛物线插值抛物线插值。在在 f(x)上上取三点取三点,过此三,过此三点作点作抛物线抛物线 g(x),以用来替代,以用来替代 f(x),可以获
21、得比,可以获得比精度精度高的结果,如高的结果,如图图4-9所示。所示。则则过三点过三点(xi1, yi1 ) 及及 (xi, yi )、( xi+1, yi+1) 的的抛物线方抛物线方程程为为图图4-9 抛物线插值算法示意图抛物线插值算法示意图 12122112112221()()()()()()()() ()()()()iiiiiiiiiiiiiiiiiiiiixxxxyyxxxxxxxxxxxxyyxxxxxxxx(4-7)在在抛物线插值抛物线插值中,如何中,如何选取选取合适的合适的三个点三个点是是关键所在关键所在,选取方法选取方法归纳如下:归纳如下:1iixxx121, , , nnnn
22、nxxxxxxx即 靠近表尾,则选 设已知设已知插值点插值点 x ,求对应的函数值,求对应的函数值 y :(1)从)从已知函数表格已知函数表格中选取中选取二点二点 ,它们,它们满足下列条件满足下列条件1 iixx及(2)比较比较的值,取的值,取其值小者其值小者作为取点延伸作为取点延伸方向,从表格中选取方向,从表格中选取第三点第三点作为作为抛物线方程抛物线方程经过的点。经过的点。1() iix xxx和()1() ()iixxxx当当 时,即时,即 三个点三个点;当当 时,即时,即 三个点三个点;11 , , iiiixxxxx靠近,则取1() ()iixxxx112 , , iiiixxxxx
23、靠近,则取(3)若)若 三个点三个点。(4)若)若 三个点三个点。12123, , , xxxxxxx即 靠近表头,则选 用用 C 语言语言编制的编制的一维抛物线插值函数的源程序一维抛物线插值函数的源程序如下:如下:float qip ( float x, float y, int n, float t ) int i; float u, v, w; for ( i = 0; i = n 4; i+ ) if ( t 0 & ( t xi) (xi+1 t) i = i1; u = ( t xi+1 )*( txi+2 ) / ( xixi+1) / (xi xi+2); v = (
24、txi)*( txi+2) / (xi+1xi) / (xi+1xi+2); w = ( txi)*(txi+1) / (xi+2xi) / (xi+2xi+1); return (u*yi + v*yi+1 + w*yi+2 );对于具有对于具有的的的插值,的插值, 从从上讲是在上讲是在三维空间三维空间内,内,几个点,几个点, 通过这些点通过这些点一块曲面一块曲面 g(x, y) ,用它近似地表示在这区间内,用它近似地表示在这区间内原原有的曲面有的曲面 f(x, y) 。设有设有如下如下表表4-b 所示:所示:表表4-b 二维列表函数和插值点的函数值二维列表函数和插值点的函数值2. 二维列表
25、函数表的插值二维列表函数表的插值曲面曲面 f(x, y) 的的三维情况三维情况,用,用线框图线框图表示时,则如表示时,则如图图4-e 所示。所示。设有一个设有一个曲面曲面 f(x, y),被,被 xoz 或或 yoz 的的平面平面相截,因此相截,因此得到得到二组曲线二组曲线,这二组曲线的,这二组曲线的交点交点即为即为 x(i),y(j) 处的处的 Z (i, j)。也就是。也就是表中的函数值表中的函数值。图图4-e二维列表函数表的插值二维列表函数表的插值这二组曲线这二组曲线把把曲面曲面分成分成许多小块许多小块,每一小块,每一小块四个角的值四个角的值可以从可以从表格表格中查出。至于小块内曲面上中
26、查出。至于小块内曲面上各点的函数值各点的函数值就无法由就无法由表格表格中查取。中查取。为能得到为能得到小块内曲面上任一点小块内曲面上任一点的的函数值函数值,可以类同于,可以类同于一维数表一维数表,设法设法构造构造一个一个,它能近似地代替,它能近似地代替 。因此因此二维数表插值的实质二维数表插值的实质是如何来是如何来构造构造 g(x, y)。 插值函数插值函数 g(x, y) 的的构造,主要有以下构造,主要有以下两种方法两种方法:线性插值算法线性插值算法 抛物线插值算法抛物线插值算法二维列表函数二维列表函数的的线性插值算法线性插值算法的原理,如的原理,如图图4-10所示。所示。从从二维数表二维数
27、表中给定的中给定的 mn 结点中结点中选取选取最接近最接近插值点插值点 T(x, y)相邻的相邻的 4 个结点个结点; 分别用分别用三次三次一一维线性插值方法维线性插值方法就可求出就可求出相应于相应于插值点插值点 T(x, y) 的的函数值函数值 Z (x, y)。图图4-10 二维列表函数表的线性插值二维列表函数表的线性插值 (1)线性插值线性插值图图4-10a 二维列表函数表的线性插值二维列表函数表的线性插值 A, BEC, DFE, FT则则线性插值算法的工作步骤线性插值算法的工作步骤如下:如下: (1) 由由 A、B 两点两点用用一维线性插值方法一维线性插值方法 E (xi, y)点点
28、的插的插值函数值值函数值 ZE;(2) 再用同样方法,由再用同样方法,由 C、D 两点两点F(xi1, y) )点点的插值函数的插值函数值值 ZF; (3) 用同样的方法,由用同样的方法,由 E、F 两点两点插值点插值点 T(x, y)的插值函的插值函数值数值 Z(x, y)。 如如图图4-10所示:所示:设与设与 相邻的相邻的 4 个结点个结点为:为:A、B、C、D, 这这 4 个结点个结点上的上的 均已知。均已知。由由上述算法上述算法的执行过程得到的的执行过程得到的二维列表函数表二维列表函数表的的线性插值算法线性插值算法公式公式为:为:, , 11, 1, 1( ,)(1)(1)(1) (
29、1)ijijijijz x yab zba zab zabz11 iiijjjxxaxxyybyy式中:式中:(4-8)用用 C 语言语言编制的编制的二维线性插值函数的源程序二维线性插值函数的源程序如下:如下:float tlip( float x, float y, float z8, int m, int n, float tx, float ty ) int i, j; float a, b, f; for( i = 0; i = m3; i+ ) if( tx = xi+1) goto c; i = m2;c: for( j = 0; j = n3; j+ ) if( ty = yj+
30、1) goto d; j = n2;d: a = ( txxi) / (xi+1xi ); b = ( tyyj) / (yj+1yj ); f = (1a)*(1b)*zij+b*(1a)*zij+1 +a*(1b)*zi+1j + a*b*zi+1j+1; return(f); 二维列表函数二维列表函数三点抛物线插值法三点抛物线插值法的的思路思路,基本上与,基本上与二维线性插值二维线性插值法法一致。只是在插值计算时,共一致。只是在插值计算时,共 4 次次运用运用一维抛物线插值算法一维抛物线插值算法来替代来替代一维线性插值算法一维线性插值算法。用。用可以提高插值精度。可以提高插值精度。如下:
31、如下: ,从给定的,从给定的 mn个结点个结点中,中,最靠近最靠近插值点插值点T(x, y)相邻的相邻的 9 个结点个结点(见图(见图4-11);); ,由,由 三个点三个点,按,按插值点插值点 T(x, y) 在在 y 方向的位置用方向的位置用一维抛物线插值一维抛物线插值方法方法求出求出 A点点的插值函数值的插值函数值 ZA ;,1,2i ji ji jzzz、图图4-11 二维列表函数表的抛物线插二维列表函数表的抛物线插值值 y0 x(2) 抛物线插值抛物线插值 ,求得,求得 B、C 两点两点的插值函数值的插值函数值ZB、ZC ; ,再用,再用 A、B、C 三点三点的插值函数值按的插值函数
32、值按插值点插值点 T(x, y)在在 x 方向的位置用方向的位置用一维抛物线插值算法一维抛物线插值算法计算出计算出插值点插值点 T(x, y) 插值函插值函数值数值 Z(x, y) 。由由上述算法上述算法执行过程得到的二维列表函数表的执行过程得到的二维列表函数表的抛物线插值算法抛物线插值算法公式公式为:为:2222,(,)()()jjiiklr srisjki krlj lsrkslxxyyz xyzxxyy (4-9)式中:式中: 累乘;累乘; 表示乘积遍取表示乘积遍取 k 从从 i 到到 i2(k r 除外)的全部除外)的全部数值。数值。2,iki krfloat tqip( float
33、x , float y , float z 24, int m, int n, float tx, float ty ) int i, j, k, l; float u3, v3, f; for( i = 0; i = m4; i+ ) if( tx =x i+1 ) goto c; i = m3;c: for( j = 0; j = n4; j+ ) if( ty 0 & txxi 0 & tyyj yj+1ty ) j = j1; 用用 C 语言语言编制的编制的二维抛物线插值函数的源程序二维抛物线插值函数的源程序如下:如下: u0 = ( txxi+1)*(txxi+2)
34、/ (xixi+1) / (xixi+2 ); u1 = ( txxi)*(txxi+2) / (xi+1xi) / (xi+1xi+2 ); u2 = ( txxi)*(txxi+1) / (xi+2xi) / (xi+2xi+1 ); v0 = ( tyyj+1)*(tyyj+2) / (yjyj+1) / (yjyj+2 ); v1 = ( tyyj)*(t yyj+2) / (yj+1yj) / (yj+1yj+2 ); v2 = ( tyyj)*(t yyj+1) / (yj+2yj) / (yj+2yj+1 ); f = 0.0; for( k = 0; k = 2; k+ ) f
35、or( l = 0; l = 2; l+ ) f += uk*vl*zi+kj+l; return(f); 在实际工程问题中,时常需要用一定的在实际工程问题中,时常需要用一定的数学方法数学方法将一系列将一系列或或拟合成近似的拟合成近似的,这种,这种建立经验公式的过程建立经验公式的过程也也称为称为,或称,或称。工程应用中,一般采用工程应用中,一般采用最小二乘法多项式拟合最小二乘法多项式拟合。所求。所求曲线曲线并不要并不要求严格通过所有求严格通过所有结点结点,而是尽可能,而是尽可能反映反映所给所给数据的趋势数据的趋势。下面。下面介绍介绍:,目前一般采用,目前一般采用合合。通常可以选取通常可以选取线
36、性方程线性方程、代数多项式代数多项式或一些或一些初等初等函数函数。这一工作由。这一工作由根据根据或或来决定。来决定。 最小二乘法的多项式拟合最小二乘法的多项式拟合 最小二乘法的其他函数的拟合最小二乘法的其他函数的拟合4.3.4 数据的公式拟合方法数据的公式拟合方法1. 最小二乘法的多项式拟合最小二乘法的多项式拟合已知已知:由:由或或实实所得所得 :1122(,), (,), , (,), , (,)iimmxyxyxyxy图图4-12最小二乘法多项式拟合最小二乘法多项式拟合用一个用一个 n 次多项式次多项式 y(x) 来拟合,来拟合,如如图图4-12所示,设所示,设拟合公式拟合公式为:为:20
37、12( ).nny xaa xa xa x(4-10)而且而且 ,则,则处的处的为:为:( ) (1,2,)iiiDy xyim为获得为获得最佳拟合曲线最佳拟合曲线,根据,根据最小二乘法原理最小二乘法原理,即要求,即要求的的,则,则为:为:2212201221012 ()(.)(,.,)miiiimniniiinDy xyaa xa xa xyF aa aa(4-11)这表明这表明是是 的的函数函数。为使。为使其最小其最小,取对取对各自变量的偏导数等于零各自变量的偏导数等于零:201212(.)0 ( 0, 1, 2, , )mnjiiniiiijFaa xa xa xyxajn12,na a
38、a1201211111()()().()mmmmmjjjjnjiiiniiiiiiiiaxaxaxaxxy求求各偏导数各偏导数并经并经整理整理得到:得到:(4-12)11; mmkkikiikiixsx yt令令得得0 ( = 0, 1, 2, , n ) miijjia stj即即00112201021321120314222011222. nnnnnnnnnnnns as as as ats as as asats as as asats asasas at(4-13)亦亦下面的下面的:02001211111231012111112342201211111()()().()()()().(
39、)()()().()mmmmmniiiniiiiiiiimmmmmniiiniiiiiiiimmmmmniiiniiiiiiiaxaxaxaxxyaxaxaxaxxyaxaxaxaxx12201211111 ()()().()immmmmnnnnniiiniiiiiiiiyaxaxaxaxxy(4-14)上式中上式中 共有共有 个,个,也是也是 个,因此组成个,因此组成 , 解解此此线性联立方程线性联立方程,即可求得,即可求得 中的中的。在求得在求得多项式多项式 y(x) 中的中的后,后, n 次多项次多项式式(4-10)便确定:便确定:2012( ).nny xaa xa xa x012(,
40、)na a aa例例4-4 有一组有一组,如下,如下表表 4-c 所示,它有所示,它有 , 现要求用现要求用拟合。拟合。表表4-c一组实验数据一组实验数据1234567-3-2-101234230-1-2-5解解: 设设为:为: 2012( )y xaa xa x根据上述根据上述及及可知:可知: , , 代入代入,得以下,得以下:2012iiimaaxaxy23012iiiiiaxaxaxx y2342012iiiiiaxaxaxx yj0时时j1时时j2时时把把Xi,Yi 用用上表中的值上表中的值代入,得代入,得012012012702810280392801967aaaaaaaaa 求解得
41、求解得:0122/3 , 39/28 , 11/84aaa 最后得到最后得到为为21( )(5611111)84y xxx中的很多中的很多,就是对实验获得的,就是对实验获得的通过通过的方法得来的。的方法得来的。除除代数多项式代数多项式外,根据情况还外,根据情况还:(1)幂函数幂函数 (2)指数函数指数函数 (3)对数函数对数函数bya xbbxyaxyae,lo gayx(4-14)(4-15)(4-16)例如,若已知例如,若已知 ,i1,2,m, 假设所拟合的假设所拟合的为:为:lg y = lga + b lg x(4-17)lg; lg ; lguyvawx令:令:byax(4-19)(
42、4-18)对上式对上式指数函数指数函数两边两边取对数取对数,得,得(, )iiXY2. 最小二乘法的其他函数的拟合最小二乘法的其他函数的拟合先将先将已知数据已知数据 代入代入式式(4-19)中,求得相应的中,求得相应的值,值,再代入式再代入式得到在得到在对数坐标系对数坐标系中的一个中的一个线性方程线性方程。与与多项式曲线拟合多项式曲线拟合相似,采用相似,采用最小二乘法最小二乘法就可以得到就可以得到中的中的系系数数 v 和和 b,再由,再由 lg a v 求得求得系数系数 a 。代入代入上式上式,得,得uvbw(4-20)(, )iiuw(, )iiXY将将数据数据以以数组的形式数组的形式存入计
43、算机存入计算机内存内存中,虽然解决了中,虽然解决了数表数表和和线图线图在在CAD计算程序中的计算程序中的存储存储和和检索检索问题,但存在问题,但存在下列不足下列不足:(1)需要需要占用占用大量的内存。大量的内存。 (2)前述前述数据数据的存取方法,包括公式化处理,其处理后的数表的存取方法,包括公式化处理,其处理后的数表和线图与特定的和线图与特定的CAD计算程序相联,使得这些计算程序相联,使得这些数表数表和和线图线图只能在该程只能在该程序中使用,不能序中使用,不能被其他程序共享被其他程序共享。因此,前述因此,前述数据的处理方法数据的处理方法一般一般只适用于只适用于使用使用数表数表和和线图线图较少
44、的较少的简单程序。简单程序。 为了克服这种方法的不足,较为完善的方法是将为了克服这种方法的不足,较为完善的方法是将数据数据与与计算程序计算程序分开、单独建立分开、单独建立数据文件数据文件。4.3.5 数据文件及其应用数据文件及其应用文件文件是是信息信息(数据与字符数据与字符)的集合的集合。将将数表数表和和线图线图中的数据按指定的中的数据按指定的文件名文件名存放在计算机存放在计算机外存储装外存储装置置(磁盘、磁带等)上,就可建立用户的(磁盘、磁带等)上,就可建立用户的数据文件数据文件,当,当CAD计算程计算程序需要使用到某一个序需要使用到某一个数表数表或或线图线图中的中的数据数据时,只需用适当的
45、时,只需用适当的程序语程序语句句(文件操作语句文件操作语句)将)将它们它们从外存中从外存中调入调入计算机内存。计算机内存。建立数据文件的方法建立数据文件的方法不仅解决了前述方法存储数据时需要占用不仅解决了前述方法存储数据时需要占用大量内存的问题,而且可使大量内存的问题,而且可使数据文件数据文件独立于计算程序,且一个独立于计算程序,且一个数据数据文件文件可供不同的计算程序调用,较好地解决了数据的可供不同的计算程序调用,较好地解决了数据的共享问题共享问题。图图4-f 数据文件的调用示意图数据文件的调用示意图是在是在的基础上发展起来的一门新型的基础上发展起来的一门新型。一种能够一种能够 “ 管理大量
46、的、持久的、可靠的、共享的管理大量的、持久的、可靠的、共享的数数据的工具据的工具 ” 。数据库技术数据库技术不仅可以处理不仅可以处理的大量的大量工程数据工程数据,而且大,而且大大完善和提高了大完善和提高了CAD系统数据处理系统数据处理的的和和。因此,。因此,数据数据库库已经成为现代已经成为现代不可缺少的重要组成部分。不可缺少的重要组成部分。4.4 机械工程数据库的创建与应用机械工程数据库的创建与应用在在中,为了适应中,为了适应的需要,须把各类的需要,须把各类工程工程数据结构数据结构和和文件组织方式文件组织方式建立起建立起及其及其。下面简要下面简要介绍一下介绍一下与与。 数据库及其特点数据库及其
47、特点 常用的数据库管理系统常用的数据库管理系统4.4.1 数据库与数据库管理系统数据库与数据库管理系统所谓所谓就是一个存储着关联数据的就是一个存储着关联数据的数据集合数据集合。它由一系列。它由一系列各种组织形式的各种组织形式的组成。组成。1. 数据库及其特点数据库及其特点图图4-g数据库与应用程序数据库与应用程序是在是在的基础上发展起来的。的基础上发展起来的。 与与不同,不同,的工作模式如下的工作模式如下图图4-b所示,即在数据系所示,即在数据系统中,统中,并不直接并不直接操作操作数据库数据库,而是通过,而是通过数数据库管理系统据库管理系统(DBMS)对对数数据库据库进行操作。进行操作。 与与
48、相比,相比,数据库系统数据库系统具有以下具有以下:(1)实现了数据共享,减少了数据冗余实现了数据共享,减少了数据冗余。(2)数据存储结构化数据存储结构化。 (3)增强了数据的独立性增强了数据的独立性。(4)加强了对加强了对数据的保护数据的保护。是建立、使用、管理和维护是建立、使用、管理和维护数据库数据库的的软件软件,实现对实现对数据库数据库的安全性、完整性和保密性的统一控制。的安全性、完整性和保密性的统一控制。目前流行的目前流行的很多,诸如:很多,诸如: dBASE; FOXBASE; FOXPRO; ORACLE等。等。 但但都属于都属于事务管理型事务管理型,更适合于管理科,更适合于管理科学
49、的应用领域。学的应用领域。 由于由于所涉及的数据较为复杂,因而真正面向所涉及的数据较为复杂,因而真正面向的的()还有待进一步的开发。还有待进一步的开发。2. 常用的数据库管理系统常用的数据库管理系统 l. 电子表格处理软件电子表格处理软件Excel在在计算机计算机提供的提供的海量表格上海量表格上填写内容,进行填写内容,进行数据处理数据处理和和数据分数据分析析,内置函数内置函数用于求和、求平均值、计算三角函数等操作用于求和、求平均值、计算三角函数等操作 。建立数据库建立数据库:Excel数据库数据库是按是按行行和和列列组织起来的组织起来的信息集合信息集合,每行每行称为一个称为一个记录记录,每列每
50、列称为一个称为一个字段字段;对;对数据库数据库的记录进行查询的记录进行查询、排序、汇总等操作。、排序、汇总等操作。进行数据分析进行数据分析: 只需为每一个分析工具提供必要的数据和参只需为每一个分析工具提供必要的数据和参数,该工具就会使用适宜的统计或工程函数,在输出表格中显示相数,该工具就会使用适宜的统计或工程函数,在输出表格中显示相应的结果。其中的一些工具在生成输出表格时还能同时产生图表。应的结果。其中的一些工具在生成输出表格时还能同时产生图表。可从其它的可从其它的数据库数据库(Access,FoxPro,SQL Server等)引入数等)引入数据。据。4.4.2 关系数据库管理系统应用实例简
51、介关系数据库管理系统应用实例简介2. 数据库管理系统数据库管理系统Access(1) 无须编写代码,只要通过直观的可视化操作,就能完成大部无须编写代码,只要通过直观的可视化操作,就能完成大部分数据管理工作。分数据管理工作。(2) 能够与能够与 word、Excel 等办公软件进行数据交换。等办公软件进行数据交换。(3) 在在 “向导向导” 的引导下,操作者能够快速完成基本数据库系统的引导下,操作者能够快速完成基本数据库系统的设计。的设计。(4) 支持开放数据库接口支持开放数据库接口 OBDC,这就意味着,这就意味着 Access 能同能同进行进行。通过。通过的导入,可以实现的导入,可以实现与与
52、之间的联接。之间的联接。是是 中的一个组件,是中的一个组件,是下的一个下的一个功能强大的功能强大的。包括:包括: 在在 Access 中,中,创建数据库创建数据库有有:,使用,使用 “数据库向导数据库向导”,先选择一种,先选择一种数据库类型数据库类型,在向导的,在向导的引导下完成数据库的基本建设;引导下完成数据库的基本建设;,建立,建立空数据库空数据库,然后向其中添加表、窗口、报表等对象。,然后向其中添加表、窗口、报表等对象。 无论采用哪种方法,在建立无论采用哪种方法,在建立数据库数据库之后,都需要对之后,都需要对数据库数据库进行修、进行修、改、增、删等操作。改、增、删等操作。进行进行的的主要内容主要内容是根据需求是根据需求确定数据库确定数据库中的中的表表、定义、定义表表之间的关系,并在此基础上完成各种查询和报表的设计。之间的关系,并在此基础上完成各种查询和报表的设计。 最初主要是应用于最初主要是应用于。随着。随着CAD/CAM技术的发展,它开始应用于技术的发展,它开始应用于,出现了,出现了(EDBMS)。 目前,目前,还不十分成熟。因此,研究开发适应还不十分成熟。因此,研究开发适应CAD/CAM系统工程应用特点的系统工程应用特点的已是一项十分重已是一项十分重要的课题。要的课题。 工程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省淮安市淮阴区2025-2026学年数学高三上期末教学质量检测模拟试题
- 江西省抚州市临川实验学校重点班2025-2026学年数学高三上期末考试试题
- 四川省绵阳市2025年数学高三第一学期期末质量跟踪监视模拟试题
- 静脉插管技术在儿科重症新2讲课文档
- 苏武传重点字词翻译课件
- 护理知识竞赛试题及答案
- 押韵古诗考试题及答案
- 2025河南南阳财和投资有限公司招聘工作人员(第十号)备考练习题库及答案解析
- 糖皮质激素在呼吸系统疾病的应用讲课文档
- 住宅室内装饰装修工程施工合同
- 投标报价说明范本
- 露天矿山危险源辨识(汇总)
- 放射科质控汇报
- 医院超声科管理制度汇编
- Q3D学习体会课件
- 眼科学教学课件:绪论
- 中医运动养生 中医养生学课件
- GB/T 5563-2013橡胶和塑料软管及软管组合件静液压试验方法
- GB/T 31091-2014煤场管理通用技术要求
- GB/T 24218.1-2009纺织品非织造布试验方法第1部分:单位面积质量的测定
- GB/T 1192-1999农业轮胎
评论
0/150
提交评论