1、第三章第三章 设计数据的处理技术设计数据的处理技术3.0 概述3.1 数表的计算机处理3.2 线图的计算机处理3.3 数表的公式化处理3.4 数据库的基本原理与应用3.0 3.0 概述概述设计数据数表线图常数数表普通线图列表函数程序化(数组)单个编程处理文件化数据库离散为数组插值计算函数拟合直接应用公式折线图带有公式处理方法数据类型设计数据类型 及常用处理方法3.1 3.1 数表的计算机处理技术数表的计算机处理技术3.1.1 数表的数组化数表的数组化一维数表一维数表例:例:由三角胶带包角由三角胶带包角查取修正系数查取修正系数k用用2个一维数组进行程序化个一维数组进行程序化。floatalfa8
2、=90.0,100.0,110.0,120.0,130.0,140.0,150.0,160.0;floatkalfa8=0.68,0.74,0.79,0.83,0.86,0.89,0.92,0.95;90100110120130140150160k0.680.740.790.830.860.890.920.953.1.1 3.1.1 数表的数组化数表的数组化二维数表维数表:齿轮传动工况系数KA用二维数组用二维数组进行进行程序化程序化floata33=1.0,1.25,1.75,1.25,1.5,3.0,1.5,1.75,3.25;工况系数KKij 工作平稳中等冲击较大冲击j=0j=1j=2工作
3、平稳I=01.001.251.75轻度冲击I=11.251.503.00中等冲击I=21.501.753.25检索齿轮传动工况系数检索齿轮传动工况系数C语言程序语言程序:#includemain()inti,j;floatka33=1.0,1.25,1.75,1.25,1.5,3.0,1.5,1.75,3.25;while(1)printf(“输入原动机载荷特性输入原动机载荷特性(0,1,2):”);scanf(“%d”,&i);if(i=0&i=0&j=2)break;printf(“得到的齿轮工况系数为得到的齿轮工况系数为%f,”,kaij);多维数表多维数表:齿齿形形公公差差ff用三维数
4、组表示用三维数组表示ff4612多维数表:多维数表:控制量个数大于2的数表,可用多维数组表示。如齿轮齿形公差表的三维组:floatff4612=3.1,3.6,90,3.4,3.0,125,3.5,3.4,140,3.4,3.0,112,3.5,3.2,140,3.4,280,3.6,3.4,160,3.8,3.8,180,4.5,450,3.0,4.2,224,3.2,4.5,250,5.0,500;3.1.2 3.1.2 数表的文件化数表的文件化数表数组化表示存在的不足数表数组化表示存在的不足:1)使程序膨胀、累赘,仅适合于小型数表;2)数据的独立性较差;3)数组占用内存。数表文件化数表文
5、件化:可使程序简练;使数表与应用程序分离;一个数表文件可供多个应用程序使用;提高数据系统的可维护性。平键数表文件化平键数表文件化建立数表文件建立数表文件C语言程序语言程序:#include#definenum=12structkey_GBfloatd1,d2,b,h,t,t1;key;voidmain()inti;FILE*fp;If(fp=fopen(“key.dat”,”w”)=NULL)printf(“Cannotopenthedatafile”);exit();for(i=0;inum;i+)printf(“record%d:d1,d2,b,h,t,t1=”,i;scanf(“%f,%
6、f,%f,%f,%f,%f”,&key.d1,&key.d2,&key.b,&key.h,&key.t,&key.t1);fwrite(&key,sizeof(structkey_GB),1,fp);fclose(fp);给定轴径给定轴径d尺寸,从尺寸,从“key.dat”文件检索键槽尺寸,文件检索键槽尺寸,#include#definenum=12structkey_GBfloatd1,d2,b,h,t,t1;key;voidmain()inti;FILE*fp;while(1)printf(“Inputtheshaftdiameterd=”);scanf(“%f”,&d);if(d8&d=
7、130)break;elseprintf(“Thediameterdisnotinrange,inputagain!”);for(i=0;ikey.d1&d=4900|n=10*c)*k=0;O型带elsec=log10(100.0)+(log10(p)-log10(1.0)*(log10(3400.0)-log10(100.0)/(log10(10.5)-log10(1.0)if(n=3400|n=10*c)*k=1;A型带elseC语言实现:3.3 3.3 数表的公式化处理数表的公式化处理改写成为:可见,g(x)是两个基本插值多项式的线性组合。线性插值线性插值(两点插值)两点插值)X X
8、x1 x2 x3 x1 x2 x3 .x.xn nY Y y1 y2 y3 y1 y2 y3 .y.yn n 列表函数列表函数线性插值线性插值C语言函数程序语言函数程序floatinter(floatx,floatx1,floatx2,floaty1,floaty2)floaty;y=y1+(y2-y1)/(x2-x1)*(x-x1);return(y);抛物线插值(三点插值)抛物线插值(三点插值)拉格朗日插值(多点插值)拉格朗日插值(多点插值)3.3.3 函数拟合函数拟合:函数插值存在的不足:函数插值存在的不足:严格通过每个结点,复印了原有的结点误差;仍需将各结点数据进行存贮,占用存贮空间。
9、函数拟合函数拟合:曲线不要求通过已知结点,仅反映数据变化趋势。1、拉格朗日拉格朗日插值插值曲线曲线2、函数拟合曲线、函数拟合曲线最小二乘法函数拟合:最小二乘法函数拟合:曲线到各结点误差平方和最小。曲线到各结点误差平方和最小。步骤:步骤:1)在坐标纸上绘出各结点,根据其趋势绘制曲线图形;2)确定近似函数,可为多项式、对数函数或指数函数等;3)用最小二乘法求出待定系数。误差函数:求导数:解方程求得方程系数a,b:例:直线段例:直线段f(x)=a+bx的拟合的拟合:指数函数最小二乘法拟合指数函数最小二乘法拟合:y=abx 对上式两边取对数,转化为线性函数:lgy=lga+xlgb令:y=lgy,u=
10、lga,v=lgb,则:y=u+vx 求出线性方程系数u和v,再根据u,v求出a和b,可得:y=aby=abx x3.4 数据库在数据库在CAD/CAMCAD/CAM作业中的应用作业中的应用 Visual FoxProVisual FoxPro数据库管理系统数据库管理系统 是一种关关系系型型模模式式,为目前应用最广泛的微机型系统,被称之为大众型数据库管理系统;提供友好的集成环境,具有Windows窗口功能;可通过系统菜单、工具条或命令窗口进行数据库的创建、维护和各种应用操作,包括数据记录的输入、修改、插入、删除、剪切、拷贝、粘贴等作。有较强的数据管理功能、丰富的开发工具,用户可利用编辑器、设计
11、器、项目管理器等工具,开发功能齐全的应用程序。FoxProFoxPro数据类型数据类型 字字符符型型(character):用于表示包括汉字和各类字符在内的字符型变量数值,一个字符占用一个字节,字符型变量最多为254个字节。数数字字型型(numeral):用于表示包括正号、负号、小数点及0-9的数字型变量的数值,占用8个字节的内存。日日期期型型(Data):用于表示月、日、年的日期型变量的数值,占8个字节。逻逻辑辑型型(logical):用于表示由逻辑真或逻辑假构成的逻辑型变量的数值,只用1个字节。备备注注型型(Memory):用于存放由可变长度的ASC码组成的字段的数值,用10字节引用备注文
12、件。货币型货币型(Current):用于表示货币值的变量数值,占用8个字节。通用型通用型(General):用于存放OLE对象的数值,占用10字节。数据库的应用实例数据库的应用实例 支承块(支承块(GB2235-80GB2235-80)数据库表文件)数据库表文件数据库的应用实例数据库的应用实例 表3-9深沟球轴承轻(2)系列轴承型号尺寸/mm安装尺寸mm额定动负荷kN额定静负荷kN极限转速r/minDDBD1D32001030915254.702.702600020112321017274.802.702400020215351120306.003.552200020317401222357.504.5020000204204714264110.006.3018000205255215314611.007.1016000206306216365615.2010.2013000207357217426520.1013.9011000208408018477325.6018.1010000209458519527825.6018.109000210509020578327.5020.208500深沟球轴承数据库结构定义数据库结构定义:数据记录输入数据记录输入:APPEND或:或:EDIT或:或:BROWSE轴承型号:内径d:外径D:宽度B:轴肩D1:孔径D3:动负荷: