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

付费下载

下载本文档

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

文档简介

1、第2章 工程数据的计算机处理工工程程数数据据的的计算计机算处机理处方理法方:法工程数据程序化将工程数据直接编写在应用程序中,在应用程序处理和计算,它包括数表程序化和线图程序化对数据进行查询、建立数据文件将数据建立成一个独立的数据文件,并单独,使它与应用程序分开,需要时,通过应用程序来打开、调用和关闭数据文件,并进行相关处理建立数据库将工程数据存放在数据库中,根据需要通过应用程序来打开、调用和关闭数据库文件,并进行相关处理。2.1数表程序化CAD/CAM/CAPP中需要将各种表格数据和曲线图表编入程序预先存入计算机中,以便设计时由程序自动检索和调用,提高设计的自动化程度,这就涉及各种计算机数据处

2、理技术。用数组的形式程序化数表插值数表拟合公式化带轮包角系数表2.1.1用数组的形式程序化数表将数表(含线图离散化而成数表)中的数据编入程序,存入一维、二维或和调用所需数据数组,再根据已知条件自动检索带轮包角系数表查询数表的思路:用某种方法把数表的数据到计算机中,通常可到数组中,而后将已知参数(即输入参数)与数组元素逐一进行比较,找到匹配的或相近的数组元素,对其作一些必要处理后,即可获得正确的查询结果。例、将带轮包角系数表用数组的形式进行程序化带轮包角系数表C语言程序代码如下:float fastserach a查询数表的思路:用某种方法把数表的数据存储到计算机中,通常可到数组中,而后将i,

3、n=10;a为待确定包角系数的包角float a, ai10, ki10; ai10=180,190,160,170,已知参数(即输入参数)与数组元素逐一进行比较,找到匹配的或相近的数组元素,对其作一些必要处理后,即可获得正确的查询结果。ki10=0.73,0.78,0.82,0.86,0.89,0.92,0.95, 0.98,1.0,1.05for (i=0;in;i+) if ( a = aii)return kii; 例、将带轮包角系数表用数组的形式进行程序化带轮包角系数表VB程序带轮包角系数查询(VB代码)查询数表的思路:用某种方法把数表的数据到计算到数组中,机中,通常可而后将已知参数

4、(即输入参数)与数组元素逐一进行比较,找到匹配的或相近的数组元素,对其作一些必要处理后,即可获得正确的查询结果。带轮包角系数查询(VB代码)TxtBaojiaolblXishu2.1.2插值数表函数:在工程设计手册数表中的数据之间多数存在一定的函数关系,将其称为数表函数,它们有些是精确公式,有些是经验公式。为了便于设计查询,在手册中多将其以数表的形式表示。数表所表示的仅仅是数表函数节点上的数值,当所要求的数据不再节点上时,若想获得较为准确的数值,可以将其原始公式编入程序求取,也可以根据数表上的数据用插值的方法求取。插值方法:在插值点附近选取几个合适的节点,过这些选取的节点构造一个函数y=p(x

5、)作为列表函数f(x)的近似表达式,然后计算p(x)的值以求得f(x)的值。插值方法1、线性插值2、抛物线插值3、日一元n次插值4、二维数表插值1、线性插值线性插值是利用通过两节点(x1,y1)和(x2,y2)的直线方程p(x)来代替原来的列表函数f(x)。设插值点为(x,y),其线性插值公式为:线性插值存在一定的误差,当两点间隔较小、, 采用此种方法。线性插值原理图例:带轮包角系数带轮包角系数查询(线性插值)VB代码带轮包角系数查询(线性插值)VB代码2、抛物线插值抛物线插值是利用通过三个节点(x1,y1)、(x2,y2)和(x3,y3)的抛物线方程p(x)来代替原来的数表函数f(x)其抛物

6、线插值公式为:抛物线插值比线性插值精度高抛物线插值原理图程序举例(C语言):float parabolan;n x xiifloat x,xi ,yi ;i,j,k; float y,m;k=0;for (i=0;i=n-1;i+)if (x-xii)*(x-xii+1)=0) = ;break;if (k=i) k=i;else if (fabs(x-xi0)fabs(x-xin) k=0; else k=n-1;if (k=n-1) | (k != 0) & (fabs(x-xik)(x-xik+1) k=k-1;y=0;for (i=k;i=k+2;i+) m=1.0;for (j=k;

7、j=k+2;j+) if (j!=i) m=m*(x-xij)/(xii-xij); y=y+m*yii;return(y);3、日一元n次插值设有n+1个互不相等的一元函数节点(xi,yi),(i=0,1,2,n),xi为插值节点,yi为对应的函数值,现存在一个阶次不超过n次的代数多项式p(x)为它满足插值条件则称p(x)为在n+1个互不相等节点(xi,yi)上的值公式。日n次插日一元n次插值程序举例floagrange(n,x,xi,yi)n;float x,xi,yi;i,j; float y,m;y=0;for (i=0;in;i+) m=1;for (j=0;jn;j+)if ( j

8、 != i ) m=m*(x-xj)/(xi-xj); y=y+m*yi;return(y);4、二维数表插值工程设计手册中,许多数据是以二维数表的形式存在,也可以用插值的方法来求得。首先给出互不相等的二元函数插值节点值xi(i=1,2,n),yj(j=1,2,m),其对应的函数值zij (i=1,2,n;j=1,2,m),用二元三点插值多项式可以求出插值自变量(x,y)所对应的函数值z,即插值结果,其表达式如下:数表程序化方法虽然解决了工程数据的计算机处理问题,但由于表中的全部数据存入计算机内存,所占内存大,且效率低,检索速度慢,容易造成数据理数表数据较少的场合。,因此适用于处对于数据量需求

9、较大的计算程序需要利用数学公式,即拟合公式来表述数表中的数据,其中最常用的是最小二乘法拟合公式。最小二乘法就是将离散数据(数表中的数据)近似地表示为一连续函数pn(x),通过找出一条平滑的最佳拟合曲 来代替 散的数 数据2.1.3 数表拟合公式化最小二乘法 在坐标纸上标出列表函数各节点数据,并根据其趋势绘出大致的曲线 根据曲线确定近似的拟合函数类型,拟合函数可为代数多项式、对数函数、指数函数 用最小二乘法原理确定函数中的待定系数设最小二乘多项式为Pnx,令或最小二乘法同时有互不相等的一元函数节点(xi,yi),xi为自变量,yi为对应的函数值,则在每一 点处的偏差为i=1,2,m所有节点偏差的

10、平方和为最小二乘法多项式拟合公式就是使节点偏差的平方和ss为最小(令ss的偏导数为零),到方求解联立方,即可解出a0,a1,a2,an2.2线图程序化小带轮包角系数曲线图在设计手册中,有些函数关系是以线图的形式表示的,它的特点是直观、感性,可以观察出函数和数据的变化趋势。线图的形式包括直线、折线和曲线。在传统的设计过程中,以手工查找对应数据获得工程数据,通常有一定的误差。在计算机辅助设计中,由于在计算机中直接和处理线图的程序相当复杂,所以通常采用下面三种方法来处理线图:1.2.获取线图的原始公式,将其编入程序将线图转换成数表,然后利用前面介绍的数表程序化的方法进行程序化处理用曲线拟合的方法求出

11、线图的近似公式,再将近似公式编入程序3.线图转换成数表为了将曲线图变换成数表,可将曲线进行分割离散,用这些分割离散点的坐标值列成一张数表线图数表化包角系数表包角系数曲线图对于数据量较小的数表,可以利用数组的形式将其程序化,但数表的容量较大时,常需建立数据文件,并将数据文件与应用程序分开。数据文件可以在外存设备上,如软盘、硬盘、光盘等,只有当需要的时候,利用应用程序通过操作语句将数据文件打开并调用。打开文件读写操作关闭文件2.3 数据文件C语言程序举例#include stdio.h main()FILE *inf,*outf; data=0;If (inf=fopen(a1.dat,r)=NU

12、LL)prf (nCannot open the input file.);exit (0);if (outf=fopen(a2.dat,w)=NULL)prf (nCannot open the output file.);exit (0);while (fscanf(inf,%d,data)!=EOF)fprf(outf,%dn,data);fclose(inf); fclose(outf);VB顺序文件的读写操作已知表22为一数表,请选用任意一种高级语言编制 线性插值程序和抛物线插值法程序,并求x=4时y的值。x6.585.995.304.924.574.003.543.232.852.10y4.234.003.563.213.022.562.

温馨提示

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

评论

0/150

提交评论