工程数据处理_第1页
工程数据处理_第2页
工程数据处理_第3页
工程数据处理_第4页
工程数据处理_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工程数据的处理方法

及CAD程序编制CAD/CAM技术基础在机械设计过程中,常常需要从有关的工程手册或设计规范中查找及检索有关曲线、表格数据,以获得设计或校核计算时所需要的各种系数、参数等。如何将这种人工查找转变成在CAD进程中的高效、快速处理,这就涉及工程数据的处理方法及CAD程序编制技术。

目前,在CAD技术中,对工程数据进行处理的方法主要有以下三种:(1)将工程数据转化为程序存入计算机内存;(2)将工程数据转化为数据文件存入计算机外存;(3)将工程数据转化为结构存入数据库。4.3工程数据的处理方法及CAD程序编制公差配合的查询

在机械设计中,常用数表形式给出机械零部件的设计参数。设计计算时,需根据给定条件从表格中选取需要的值。在编制机械CAD计算程序的时候,应将数表作程序化处理,以便调用。

机械设计过程中所使用的工程技术数表种类很多。通常,按数表中的数据有无函数关系,可分为:数表简单数表列表函数表有计算公式的列表函数表无计算公式的列表函数表按数表的维数,又可分为:数表一维数表二维数表n维数表等4.3.1数表的分类及存取

1.数表的分类包角α708090100110120130140Kα0.560.620.680.730.780.820.860.89表4-1包角系数Kα一维数表表4-2V带长度系数KL

二维数表在CAD作业中,进行工程数表存取的一般原则如下:

数据存入计算机的形式应考虑到检索的方便,通常将数据按一定规则进行排列,然后存入数组。

一维数表采用一维数组进行存储。

二维数表采用二维数组进行存储。

■查取数据时用逻辑判断语句进行比较,检索出所需要的数据。

(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自6~8225>22~30871>8~10336>30~381082>10~12447>38~441283>12~17558>44~501494>17~22669>50~581610

解:根据表中轴径d

检索键宽b

和键高h尺寸时,首先需要判断轴径d

所在的范围。

根据数表的这一特点,在程序中存储该数表时,

可用两个一维数组

b[10]和h[10]分别存储键宽和键高的值,

再用另一个一维数组

d[11]存储轴径的范围界限值。在CAD作业中,当需要检索键宽和键高时,先用条件语句判断轴径d所在的范围,在此范围内便可检索出键宽和键高的数据值。依据这一思想,实现表4-3的数表存取的程序编写如下:

/*chp4_01.c*/#include<stdio.h>main(){staticfloatd[11]={6.0,8.0,10.0,12.0,17.0,22.0,30.0,38.0,44.0,50.0,58.0},b[10]={2.0,3.0,4.0,5.0,6.0,8.0,10.0,12.0,14.0,16.0},h[10]={2.0,3.0,4.0,5.0,6.0,7.0,8.0,8.0,9.0,10.0};floatdd,bb,hh;inti;puts("Pleaseinputd=?\n");scanf("%f",&dd);if(dd<d[0]||dd>d[10]){puts("Thedataisoutoftherange!\n");exit(1);}for(i=0;i<10;i++)if(dd<=d[i+1]){bb=b[i];hh=h[i];printf("b=%f,h=%f\n",bb,hh);exit(2);}}

现以例4-2为例说明二维数表的存取方法。

例4-2

表4-2所示为V长度系数KL,如果V带的截面型号为A型,内周长度为560mm,试编写程序在该表中查取相应的长度系数KL。

解:对本例二维数表,首先需给资料名称加注序号,即给数表的行和列加注序号:在行向加注序号

i=0~31(共32种内周长度),在列向加注序号j=0~6(共7种V

带类型)。然后就可以定义一个二维数组将数表中的数据存入计算机。

在查表时,只要给出其数据的位置序号(i,j),即可检索到对应的数据值。对于本例,即A型截面所对应的列序号为j=1,内周长为560mm所对应的行序号为

i=2,查取的V带长度系数KL

的程序如下:(2)二维数表的存取

序号

j

0

123456

i

截面型号

OABCDEF

内周长度(mm)

0

450

0.89

15000.91

2

5600.940.80.

.........

........

2911501.123014001.15

3116001.18表4-2V带长度系数KL

/*chp4_02.c*/#include<stdio.h>main(){staticfloatkl[32][7]={{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},..................}};inti,j;floatkl1;i=2;j=1;kl1=kl[i][j];if(fabs(kl1-100.0)<1.0e-6)printf("THEDATAOUTOFTHETABLE!");elseprintf("kl=%f",kl1);}

对于数表中出现的空格,应在存入计算机时用一个适当的有别于数表中其它数据的数字来代替,并在程序中使用判断语句进行检查。在本例程序中使用数字“100.0”来代替空格,并使用判断语句:“if(fabs(kl1-100.0)<1.0e-6)……”来检查是否出现空格。

例1.普通V带型号及截面尺寸

六个实例inti;floatb[7]={6.0,10.0,13.0,17.0,22.0,32.0,38.0};floath[7]={4.0,6.0,8.0,11.0,14.0,19.0,25.0};floatbp[7]={5.3,8.5,11.0,14.0,19.0,27.0,32.0};用户给定i=2(即A型),则程序可以立即查出:b[2]=13.0,h[2]=8.0,bp[2]=11.0特点:一个非数值型自变量。所查的值为离散型数据。方法:利用一维数组和一个整型变量。例2.平键和键槽的剖面尺寸

特点:根据计算结果确定范围。方法:利用一维数组和判断语句来编程实现。例3.包角影响系数K2特点:自变量和需要查的值均为连续值。方法:利用一元插值函数。例4.齿轮传动工况系数KAfloatKA;inti,j;floatKK[3][3]={{1.0,1.25,1.75},{1.25,1.5,2.0},{1.5,1.75,2.25}};特点:两个离散型自变量和一个离散型函数值。方法:利用二维数组。

r/dD/d6.03.02.01.501.201.101.051.031.021.010.042.592.402.332.212.092.001.881.801.721.010.101.881.801.731.681.621.591.531.491.441.360.151.641.591.551.521.481.461.421.381.341.260.201.491.461.441.421.391.381.341.311.271.200.251.391.371.351.341.331.311.291.271.221.170.301.321.311.301.291.271.2261.251.231.201.14例5:轴肩圆角处理论应力集中系数特点:两个自变量是连续值。方法:利用二元插值函数。

例6.单根V带的基本额定功率PI特点:三个离散型自变量。方法:利用三维数组。

线图是函数关系的一种常用表示方法。

线图的特点是鲜明直观,并能清楚地表示出函数的变化趋势及规律。因此,在工程设计资料中,很多参数间的函数关系是用线图来表达的。

但在CAD作业中,目前尚不能直接对线图进行编程,因此必须对它进行相应的处理,才能实现对参数图存储和自动检索的目的。

1.

线图的类型根据线图中数据的来源,线图可分为两类:线图有计算公式的线图区域图无计算公式的线图直线图曲线图4.3.2线图的分类及处理

为了CAD作业需要,进行线图程序化处理的方法有以下几种:►

线图数表化处理(将线图整理成数表);

►线图公式化处理(建立出线图的解析式);

曲线拟合处理(建立出线图的近似式)。在线图的处理方法中,可分如下几种:

1)有计算公式线图的处理

2)无计算公式线图的处理

(1)线图的数表化处理

(2)线图的公式化处理

①直角坐标系直线图的公式化处理;②对数坐标系直线图

的公式化处理;③区域图的处理。2.线图的处理

有些线图所表示的各参数之间关系原本就有计算公式,但为了设计人员工作时查取方便,将计算公式绘制成为线图,如图4-2。对于这样的线图,在CAD作业时,应在CAD计算程序中可直接使用公式进行计算。

图4-2螺旋角参数Zβ

1)有计算公式线图的处理(1)线图的数表化处理

线图的数表化处理就是将线图离散化为数表,然后再用4.3.1节中所述方法加以处理。以在CAD作业时,供进行数据检索。例如,表4-4就是图4-3离散化后形成的数表。图4-3蜗轮的齿形系数Y2(变位系数ζ=0,α=20°,ha=1)

2)无计算公式线图的处理表4-4蜗轮的齿形系数Y2(变位系数ζ=0,α=20°,ha=1)

进行线图公式化处理,对不同类型的线图有不同的处理方法:

对有计算公式的线图,可直接将公式编入程序;

对直线图可将其图形转化为线性方程,再编入程序。而直线图通常又分如下三种情况:

●直角坐标直线图

●对数坐标直线图

●区域图具体处理方法如下:(2)线图的公式化处理如图4-4所示是齿轮强度计算时所用到的动载系数Kv

的线图,

横坐标为:VZ1

/100,

纵坐标为:Kv

。包括直齿轮和斜齿轮共有16条直线分别代表不同精度等级下的函数关系。①直角坐标系直线图的公式化处理对于该线图若用数表化处理,则要转化为16个一维数表或2个二维数表,不仅数据量很大,而且还要占用较多的计算机内存。

对此,可通过取直线上任意两点的坐标值来求其斜率,从而写出直线方程式。若已知直线上任意两个点

坐标,则该直线方程为:直齿轮

斜齿轮

图4-4动载荷系数Kv

(4-1)对于Kv

线图,则可表示成:式中:

为直线上任意两点的纵坐标值;为该两点的横坐标值。

因此,对图4-4上每一条直线选取其上任意两点的坐标值,带入上式,便可列出直线方程,利用该方程便可计算出任意VZ1/100的动载系数Kv值。利用上述方法,图4-4中的16条直线,可变换为16个直线方程。②

对数坐标系直线图的公式化处理在机械设计资料中,常会遇到对数坐标直线图,如图4-5所示。图4-5弯曲强度的寿命系数YN

若已知对数坐标系下直线上的任意两点的坐标:令则(4-2)其对数坐标的直线方程可以表示为:对于图4-5所示的齿轮弯曲强度寿命系数YN的每一条直线,只要给出其两任意点的坐标,即可列出它的直线方程式:将图中某一直线任意两点的坐标值(N1,YN1),(N2,YN2)及要求取寿命系数YN

的应力值次数

N

带入上式,并令:令这样就可用程序语言把YN与

N的关系表达出来。

例如图4-6所示的齿轮材料的接触疲劳强度极限应力,因其影响因素很多,因而在国际标准中采用区域图的方式表示,供设计者根据材料的质量水平、热处理工艺水平等条件来选用。工程技术中的许多物理量,往往是一些离散的、随机的变量。

对于上述区域图,具体的处理方法有两种:

按区域图的中线取值;

按区域图的位置取值。图4-6齿轮材料的接触疲劳强度极限应力

③区域图的处理

按区域图的中线取值处理

以图4-6为例,首先必须找出区域图中线(图中点划线)的表达式,为此在中线上任意选取两点(HB1,SH1)、(HB2,SH2),由此两点可以写出该极限应力中线的表达式:利用上式,就可计算出任意齿面硬度HB

所对应的。(4-3)

按区域图的位置取值按前述的处理方法,设计人员在确定齿轮材料的极限应力时只限于取中值,不尽全面。为了使设计者能根据所用材料性能的不同,按实际情况在区域内取不同的值,为此,可以增加两个参数:●

一个是极限应力的幅值参数

;●

另一个是极限应力在区域图中的位置参数ST。

当ST=1

时,表示取极限应力的上限值;当ST=0

时,表示取极限应力的中值;当ST=-1

时,表示取极限应力的下限值。此时,极限应力的计算公式变为:

这样,ST

在+1~-1之间取值时,就可以获得区域图中(见图4-6)任意位置上的极限应力值。(4-4)还有一种区域图,如图4-7所示的V带选型图。

这种区域图是以直线作为不同型号的V带胶带的边界线。因此,对这样区域图亦可以运用直线方程来确定边界线的坐标。图4-7V带选型图

图4-7所示区域图为对数坐标图,故在每条边界线上任意选取两点(P1,N1),(P2,N2),由此两点就可写出该线的对数坐标直线方程:将其变换成指数方程的形式:式中:(4-5)边界线计算公式O-AN=677A-BN=100B-CN=24C-DN=7D-EN=1.16E-FN=0.329按照上述方法,图4-7中6

条边界线的方程(计算公式)为:式中,P

——为计算功率,kW;

N

——边界线上相对于计算功率P

的转速,r/min。根据上述,编写出的三角胶带传动“V带带型选择函数”如下:charv_belt_type(floatp,floatn)/*Selectthetypeofv_belt*/{if(n>=4900.0)return('O');elseif(n>677.0*pow(p,1.454))return('O');elseif(n>=3400.0)return('A');elseif(n>100.0*pow(p,1.486))return('A');elseif(n>=2400.0)return('B');elseif(n>24.0*pow(p,1.47))return('B')elseif(n>=1500.0)return('C');

V带带型选择函数elseif(n>7.0*pow(p,1.488))return('C');elseif(n>=1200.0)return('D');elseif(n>1.16*pow(p,1.545))return('D');elseif(n>=700.0)return('E');elseif(n>0.329*pow(p,1.5))return('E');elsereturn('F');表4-a列表函数xx1x2x3…xi…xnyy1y2y3…yi…yn由于列表函数只能给出结点处的函数值,当自变量为结点的中间值时,就要用插值法求取其函数值。

插值法的基本思想:是在插值点附近选取几个合适的结点,用这些选取的点构造一个简单函数

g(x),在此小段上用g(x)代替原来函数

f(x),这样插值点的函数值就用

g(x)的值来代替。因此,插值的实质问题是如何构造一个既简单又具有足够精度的函数g(x)。设有一用数据表格给出的列表函数,如下表所示:4.3.3列表函数表的插值计算

线性插值就是构造一个线性函数

g(x)来代替原先的函数

f(x),如图4-8所示。

插值步骤如下:图4-8线性插值①从表格中选取两个相邻的自变量

xi

、xi+1,满足下列条件:

x

i

<x<

x

i+1;②过(x

i,y

i)及(xi+1,yi+1)两点连直线

g(x)

代替原来的函数f(x),则x的函数值

y

为(4-6)1.一维列表函数表的插值

(1)线性插值

线性插值是一种既简单又常用的插值算法,在机械CAD计算程序中经常用到,将此算法编写的一维线性插值函数如下:floatlip(floatx[],floaty[],intn,floatt){inti;for(i=0;i<=n-3;i++)if(t<=x[i+1])gotoa;i=n-2;a:return(y[i]+(y[i+1]-y[i])*(t-x[i])/(x[i+1]-x[i]));}

程序说明

(1)该函数中用一维数组

x[],y[]分别存储数表中的自变量数据和函数值数据;

(2)n

为数组元素的个数,数组元素的下标从0变化到n-1;

(3)t为插值点的自变量数值。

例4-3已知V带传动小带轮包角α1=125.4°,由表4-1采用线性插值算法查取所对应的包角系数Kα。/*chp4_03.c*/#include<stdio.h>main(){floatlip(floatx[],floaty[],intn,floatt);staticfloatrf[16]={70.0,80.0,90.0,100.0,110.0,120.0,130.0,140.0,150.0,160.0,170.0,180.0,190.0,200.0,210.0,220.0},krf[16]={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};floatkrf1;krf1=lip(rf,krf,16,125.4);printf("krf1=%f",krf1);}解:将此数据的检索过程编写成计算机程序如下:

在此程序中调用上述一维线性插值函数lip()执行一维线性插值运算。程序运行结果如下:

krf1=0.84160000即,根据给定的小带轮包角α1=125.4°,通过线性插值算法查取所对应的包角系数Kα

=0.84160000

。(2)

抛物线插值

用线性函数

g(x)

来代替f(x)时,仅利用了两个结点上的信息,因此误差较大,为了减少误差可利用三个结点上的信息,采用抛物线插值。

在f(x)上取三点,过此三点作抛物线

g(x),以用来替代

f(x),可以获得比线性插值精度高的结果,如图4-9所示。则过三点(xi-1,yi-1)及(xi,yi)、(xi+1,yi+1)的抛物线方程为图4-9抛物线插值算法示意图

(4-7)

在抛物线插值中,如何选取合适的三个点是关键所在,选取方法归纳如下:

设已知插值点

x

,求对应的函数值y:(1)从已知函数表格中选取二点,它们满足下列条件

(2)比较的值,取其值小者作为取点延伸方向,从表格中选取第三点作为抛物线方程经过的点。

当时,即三个点;

时,即三个点;(3)若三个点。(4)若三个点。用C语言编制的一维抛物线插值函数的源程序如下:floatqip(floatx[],floaty[],intn,floatt){inti;floatu,v,w;for(i=0;i<=n-4;i++)if(t<=x[i+1])gotoa;i=n-3;a:if(i>0&&(t-x[i])<(x[i+1]-t))i=i-1;u=(t-x[i+1])*(t-x[i+2])/(x[i]-x[i+1])/(x[i]-x[i+2]);v=(t-x[i])*(t-x[i+2])/(x[i+1]-x[i])/(x[i+1]-x[i+2]);w=(t-x[i])*(t-x[i+1])/(x[i+2]-x[i])/(x[i+2]-x[i+1]);return(u*y[i]+v*y[i+1]+w*y[i+2]);}

对于具有两个自变量的二维列表函数的插值,从几何意义上讲是在三维空间内,选定几个点,通过这些点构造一块曲面

g(x,y),用它近似地表示在这区间内原有的曲面

f(x,y)。

设有一二维列表函数如下表4-b

所示:表4-b二维列表函数和插值点的函数值2.二维列表函数表的插值

曲面

f(x,y)的三维情况,用线框图表示时,则如图4-e所示。设有一个曲面f(x,y),被两组平行

xoz或yoz

的平面相截,因此得到二组曲线,这二组曲线的交点即为x(i),y(j)处的Z(i,j)。也就是表中的函数值。图4-e二维列表函数表的插值

这二组曲线把曲面分成许多小块,每一小块四个角的值可以从表格中查出。至于小块内曲面上各点的函数值就无法由表格中查取。为能得到小块内曲面上任一点的函数值,可以类同于一维数表,设法构造一个二元函数

g(x,y),它能近似地代替原曲面的

f(x,y)。因此二维数表插值的实质是如何来构造

g(x,y)。

插值函数

g(x,y)的构造,主要有以下两种方法:

线性插值算法

抛物线插值算法

二维列表函数的线性插值算法的原理,如图4-10所示。

首先:从二维数表中给定的m×n

结点中选取最接近插值点

T(x,y)相邻的4个结点;

然后:分别用三次一维线性插值方法就可求出相应于插值点

T(x,y)的函数值

Z(x,y)。图4-10二维列表函数表的线性插值

(1)线性插值图4-10a二维列表函数表的线性插值

A,B→EC,D→FE,F→T则线性插值算法的工作步骤如下:

(1)

由A、B两点用一维线性插值方法计算出

E(xi,y)点的插值函数值ZE;

(2)

再用同样方法,由C、D两点求出F(xi+1,y)点的插值函数值ZF;

(3)

用同样的方法,由E、F两点求得插值点

T(x,y)的插值函数值Z(x,y)。如图4-10所示:设与插值点

T(x,y)相邻的4个结点为:A、B、C、D,这4个结点上的函数值z(x,y)均已知。

由上述算法的执行过程得到的二维列表函数表的线性插值算法公式为:式中:(4-8)用C语言编制的二维线性插值函数的源程序如下:floattlip(floatx[],floaty[],floatz[][8],intm,intn,floattx,floatty){inti,j;floata,b,f;for(i=0;i<=m-3;i++)if(tx<=x[i+1])gotoc;i=m-2;c:for(j=0;j<=n-3;j++)if(ty<=y[j+1])gotod;j=n-2;d:a=(tx-x[i])/(x[i+1]-x[i]);b=(ty-y[j])/(y[j+1]-y[j]);f=(1-a)*(1-b)*z[i][j]+b*(1-a)*z[i][j+1]+a*(1-b)*z[i+1][j]+a*b*z[i+1][j+1];return(f);}

二维列表函数三点抛物线插值法的思路,基本上与二维线性插值法一致。只是在插值计算时,共4次运用一维抛物线插值算法来替代一维线性插值算法。用该方法可以提高插值精度。

该算法的插值步骤如下:

首先,从给定的m×n个结点中,选取最靠近插值点T(x,y)相邻的9

个结点(见图4-11);

其次,由三个点,按插值点

T(x,y)

在y方向的位置用一维抛物线插值方法求出A点的插值函数值ZA

;图4-11二维列表函数表的抛物线插值

y0x(2)抛物线插值

再用同样方法,求得B、C两点的插值函数值ZB、ZC;

最后,再用A、B、C三点的插值函数值按插值点

T(x,y)在

x方向的位置用一维抛物线插值算法计算出插值点

T(x,y)

插值函数值Z(x,y)。

由上述算法执行过程得到的二维列表函数表的抛物线插值算法公式为:(4-9)式中:∏累乘;表示乘积遍取k从i到i+2(k≠r

除外)的全部数值。floattqip(floatx[],floaty[],floatz[][24],intm,intn,floattx,floatty){inti,j,k,l;floatu[3],v[3],f;for(i=0;i<=m-4;i++)if(tx<=x[i+1])gotoc;i=m-3;c:for(j=0;j<=n-4;j++)if(ty<=y[j+1])gotod;j=n-3;d:if(I>0&&tx-x[i]<x[i+1]-tx)i=i-1;if(j>0&&ty-y[j]<y[j+1]-ty)j=j-1;

用C语言编制的二维抛物线插值函数的源程序如下:u[0]=(tx-x[i+1])*(tx-x[i+2])/(x[i]-x[i+1])/(x[i]-x[i+2]);u[1]=(tx-x[i])*(tx-x[i+2])/(x[i+1]-x[i])/(x[i+1]-x[i+2]);u[2]=(tx-x[i])*(tx-x[i+1])/(x[i+2]-x[i])/(x[i+2]-x[i+1]);v[0]=(ty-y[j+1])*(ty-y[j+2])/(y[j]-y[j+1])/(y[j]-y[j+2]);v[1]=(ty-y[j])*(ty-y[j+2])/(y[j+1]-y[j])/(y[j+1]-y[j+2]);v[2]=(ty-y[j])*(ty-y[j+1])/(y[j+2]-y[j])/(y[j+2]-y[j+1]);f=0.0;for(k=0;k<=2;k++){for(l=0;l<=2;l++){f+=u[k]*v[l]*z[i+k][j+l];}}return(f);}

在实际工程问题中,时常需要用一定的数学方法将一系列测试数据或统计数据拟合成近似的经验公式,这种建立经验公式的过程也称为曲线拟合,或称数据公式化。

工程应用中,一般采用最小二乘法多项式拟合。所求曲线并不要求严格通过所有结点,而是尽可能反映所给数据的趋势。下面介绍:

曲线拟合,目前一般采用最小二乘法拟合。

拟合公式的类型通常可以选取线性方程、代数多项式或一些初等函数。这一工作由编程人员根据线图或实验数据分布形态来决定。●

最小二乘法的多项式拟合●

最小二乘法的其他函数的拟合4.3.4

数据的公式拟合方法1.最小二乘法的多项式拟合已知:由线图或实验所得m

个点的值:图4-12最小二乘法多项式拟合用一个n

次多项式

y(x)

来拟合,如图4-12所示,设拟合公式为:(4-10)

而且m>>n

,则每一结点处的偏差为:

为获得最佳拟合曲线,根据最小二乘法原理,即要求每一结点的偏差Di

的平方和最小,则结点偏差的平方和为:(4-11)这表明偏差平方和是系数

的函数。为使其最小,取对各自变量的偏导数等于零:求各偏导数并经整理得到:(4-12)令得即(4-13)亦可写成下面的方程组:(4-14)

上式中待求的系数

共有(n+1)

个,

方程也是(n+1)个,因此组成线性联立方程组,

解此线性联立方程,即可求得多项式

y(x)

中的各项系数。

在求得多项式y(x)中的各项系数后,

n

次多项式(4-10)便确定:

例4-4有一组实验数据,如下表

4-c

所示,它有7个点,现要求用二次多项式拟合。表4-c一组实验数据

点号1234567Xi-3-2-10123Yi4230-1-2-5解:

设经验公式为:

根据上述实验数据及经验公式可知:m=7,n=2,代入式(4-12),得以下三个方程:

j=0时

j=1时

j=2时把Xi,Yi

用上表中的值代入,得求解得:最后得到拟合的经验公式为

工程中设计资料中的很多经验公式,就是对实验获得的数据数表通过曲线拟合的方法得来的。除代数多项式外,根据情况还可采用:

(1)幂函数

(2)指数函数

(3)对数函数(4-14)(4-15)(4-16)

例如,若已知m

组数据

,i=1,2,…,m,假设所拟合的指数函数曲线形式为:lgy=lga+blgx(4-17)令:(4-19)(4-18)对上式指数函数两边取对数,得2.最小二乘法的其他函数的拟合

先将已知数据

代入式(4-19)中,求得相应的值,再代入式得到在对数坐标系中的一个线性方程。与多项式曲线拟合相似,采用最小二乘法就可以得到上式中的系数

v

和b,再由lga=v求得系数

a

。代入上式,得(4-20)

将数据以数组的形式存入计算机内存中,虽然解决了数表和线图在CAD计算程序中的存储和检索问题,但存在下列不足:(1)需要占用大量的内存。

(2)前述数据的存取方法,包括公式化处理,其处理后的数表和线图与特定的CAD计算程序相联,使得这些数表和线图只能在该程序中使用,不能被其他程序共享。因此,前述数据的处理方法一般只适用于使用数表和线图较少的简单程序。为了克服这种方法的不足,较为完善的方法是将数据与计算程序分开、单独建立数据文件。4.3.5数据文件及其应用

文件是信息(数据与字符)的集合。将数表和线图中的数据按指定的文件名存放在计算机外存储装置(磁盘、磁带等)上,就可建立用户的数据文件,当CAD计算程序需要使用到某一个数表或线图中的数据时,只需用适当的程序语句(文件操作语句)将它们从外存中调入计算机内存。

建立数据文件的方法不仅解决了前述方法存储数据时需要占用大量内存的问题,而且可使数据文件独立于计算程序,且一个数据文件可供不同的计算程序调用,较好地解决了数据的共享问题。图4-f数据文件的调用示意图

数据库系统是在文件系统的基础上发展起来的一门新型数据管理技术。它是一种能够“管理大量的、持久的、可靠的、共享的数据的工具”。

数据库技术不仅可以处理CAD系统的大量工程数据,而且大大完善和提高了CAD系统数据处理的效率和可靠性。因此,数据库已经成为现代CAD系统不可缺少的重要组成部分。4.4机械工程数据库的创建与应用在现代CAD系统中,为了适应CAD作业的需要,须把各类工程数据结构和文件组织方式建立起数据库及其管理系统。下面简要介绍一下数据库与数据库管理系统。

数据库及其特点

►常用的数据库管理系统4.4.1数据库与数据库管理系统

所谓数据库就是一个存储着关联数据的数据集合。它由一系列各种组织形式的数据文件组成。1.

数据库及其特点图4-g数据库与应用程序

数据库是在文件系统的基础上发展起来的。与文件系统不同,数据库系统的工作模式如下图4-b所示,即在数据系统中,应用程序并不直接操作数据库,而是通过数据库管理系统(DBMS)对数据库进行操作。

与文件系统相比,数据库系统具有以下特点:

(1)实现了数据共享,减少了数据冗余。

(2)数据存储结构化。

(3)增强了数据的独立性。(4)加强了对数据的保护。

数据库管理系统是建立、使用、管理和维护数据库的软件,实现对数据库的安全性、完整性和保密性的统一控制。

目前流行的数据库管理系统很多,诸如:►

dBASE;

FOXBASE;

FOXPRO;

ORACLE等。但它们都属于事务管理型关系数据库管理系统,更适合于管理科学的应用领域。由于CAD作业所涉及的数据较为复杂,因而真正面向CAD系统的工程数据库管理系统(EDBMS)还有待进一步的开发。2.常用的数据库管理系统

l.

电子表格处理软件Excel

在计算机提供的海量表格上填写内容,进行数据处理和数据分析,内置函数用于求和、求平均值、计算三角函数等操作。

建立数据库:Excel数据库是按行和列组织起来的信息集合,每行称为一个记录,每列称为一个字段;对数据库的记录进行查询、排序、汇总等操作。

进行数据分析:只需为每一个分析工具提供必要的数据和参数,该工具就会使用适宜的统计或工程函数,在输出表格中显示相应的结果。其中的一些工具在生成输出表格时还能同时产生图表。可从其它的数据库(Access,FoxPro,SQLServer等)引入数据。4.4.2

关系数据库管理系统应用实例简介2.

数据库管理系统Access(1)无须编写代码,只要通过直观的可视化操作,就能完成大部分数据管理工作。(2)能够与word、Excel等

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论