第2章工程数据的计算机处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数组程序化方法


用数组的形式程序化数表 插值 数表拟合公式化
1.用数组的形式程序化数表
设计手册中的数表可以用数组的形式将其程序 化。对于一维数表,其数据在程序化时可用一 维数组来标识,例如对下面带轮包角系数表, 用数组的形式进行程序化,其程序代码见下页:
带轮包角系数表
用数组的形式程序化数表
接上页
y=0; for (i=k;i<=k+2;i++) { m=1.0; for (j=k;j<=k+2;j++) if (j!=i) m=m*(x-xi[j])/(xi[i]-xi[j]); y=y+m*yi[i]; } return(y); } m=1.0; for (j=k;j<=k+2;j++) if (j!=i) m=m*(x-xi[j])/(xi[i]-xi[j]); y=y+m*yi[i]; } 说明:n 为插值结点数减1;xi,yi为为插值结 return(y); 点和对应的函数值 }
C语言程序代码如下:
float fastserach(a,ai,ki) { int i,n=10; float a, ai[12],ki[12]; ki[n+1]=0; ai[n+1]=a; for (i=1;i<n+1;i++) if (( a == ai[i] ) && ( i <= n)) return(ki[i]); }
常用设计数据或资料的计算机处理 主要包括三种方法
数组化: 将数表中的数据或将线图离散化成
数表的数据编入程序,存入一维、二维或多维 数组。
文件化: 数据量较大时,将数表中的数据或
将线图离散化成数表的数据,存入数据文件或 数据库。数据独立于应用程序
公式化:将数表或线图转化为公式编入程序。
工程数据的计算机处理主要包括三种方法
3)拉格朗日一元n次插值
设有n+1个互不相等的一元函数节点(xi,yi),(i=0, 1, 2· · · ,n),xi为插值节点,yi为对应的函数值,即 插值结果,现存在一个阶次不超过n次的代数多项式p(x) 为
它满足插值条件
则称p(x)为在n+1个互不相等节点(xi,yi)上的拉格朗日n次插 值公式。



工程数据程序化 将工程数据直接编写在应用 程序中,在应用程序内部对数据进行查询、处 理和计算,它包括数表程序化和线图程序化 建立数据文件 将数据建立成一个独立的数据 文件,并单独存储,使它与应用程序分开,需 要时,通过应用程序来打开、调用和关闭数据 文件,并进行相关处理 建立数据库 将工程数据存放在数据库中,根 据需要通过应用程序来打开、调用和关闭数据 库文件,并进行相关处理
2.1.2 数表的文件化
对于数据量大的数表或数图很多,需
要将数表进行文件化处理。
2.1
数表程序化
在计算机辅助设计过程中,数表程序化是指将数表中的数据 以数组、数据文件、拟合公式和插值公式的形式给出,并利 用应用程序来处理、调用和检索查询 在工程设计手册中,标准与规范多是以数表的形式给出,例 如下面表格就是工程设计手册中V带传动设计中带轮包角系 数表,通过带轮包角即可查到包角系数 带轮包角系数表
Baidu Nhomakorabea 常用插值方法


线性插值 抛物线插值 拉格朗日一元n次插值
1)线性插值
线性插值是利用通过两节点(x1,y1)和(x2,y2)的直 线方程p(x)来代替原来的列表函数f(x)。设插值点为 (x,y),其线性插值公式为:
线性插值原理图
线性插值存在一定的 误差,当两点间隔较 小、精度要求不高时, 可以采用此种方法。
第二章 计算机数据处理
引言 在机械产品的设计过程中,经常需要引用一
系列标准、规范、计算公式及大量的数据资料,如 数据列表、实验曲线等,在传统的设计过程中,设 计人员通过查阅相关的设计手册来获得;在设计手 册中,这些资料多以数表和线图的形式给出,故在 进行计算机辅助设计过程中,需将数表及线图转换 成计算机能够处理的形式,以方便在使用过程中通 过应用程序进行调用和检索查询,这就涉及到工程 数据的计算机处理。 教学目的 本章让学生在学习了几种工程数据计算 机处理方法后,可以比较和分析各种工程数据计算 机处理方法的特点,并自己动手利用高级语言编制 相关程序。
2.1 数表的计算机处理技术
对于数据量小的数表,可用计算机算法语言对 一维、二维或多维数组进行赋值的方法分别对 一维、二维或多维数组进行程序化处理。 对于数据量大的数表,可存入数据文件或数据 库中。 对于列表函数,还可进行公式化处理。

2.1.1 数表的数组化

1、一维数组 2、二维数组 直接查找与插值法 3、多维数组
说明:n 为记录数;ai[n+1]、ki[n+1]为增设的 欲检索关键字和对应的空记录
2.插值


数表函数:在工程设计手册数表中的数据之 间多数存在一定的函数关系,将其称为数表 函数,它们有些是精确公式,有些是经验公 式。为了便于设计人员查询,在手册中多将 其以数表的形式表示 插值方法:所谓插值方法,即在插值点附近 选取几个合适的节点,过这些选取的节点构 造一个函数y=p(x)作为列表函数f(x)的近似 表达式,然后计算p(x)的值以求得f(x)的值
2)抛物线插值
抛物线插值是利用通过三个节点( x1,y1)、(x2,
y2) 和(x3,y3)的抛物线方程p(x)来代替原来的 数表函数f(x),其抛物线插值公式为:
抛物线插值原理图
抛物线插值比线 性插值精度高
程序举例:
float parabola (n,x,xi,yi) int n; float x,xi[],yi[]; { int i,j,k; float y,m; k=0; for (i=0;i<=n-1;i++) if ((x-xi[i])*(x-xi[i+1])<=0) { k=i;break;} if (k==i) k=i; else if (fabs(x-xi[0])<fabs(x-xi[n])) k=0; else k=n-1; if ((k==n-1) || (k != 0) && (fabs(x-xi[k])<(x-xi[k+1])) k=k-1;
相关文档
最新文档