已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章 设计资料的程序处理,两种设计资料的处理方法 将设计资料转变成程序,即程序化 利用数据库管理设计资料,5.1数据表格的程序处理,数表的分类: 一维变量表 二维变量表 多维变量表 数表的来源: 数据表格本来就有精确的理论计算公式,仅仅是为了便于手工计算才把这些公式以数表的形式给出。 数表中的数据,彼此之间不存在一定的函数关系或是由实验获得的。,5.1.1一维数表,Float kw6=0.39e-3,1.03e-3, 2.65e-3, 7.50e-3, 26.6e-3, 49.8e-3; 在已知三角带型号type的情况下 直接调用 kwtype即可。,一般用一维数组直接在程序中实现。例如:,平键公称尺寸及键槽尺寸,如下图所示,其特别之处在于变量轴径d有一定范围。解决方法是把该表分成5个一维表进行处理,5.1.2 二维数表,二位数表有两个变量。一般情况下是将数表用 二维数组表示。例如:,齿轮传动工况系数,5.1.3 多维数表,变量个数大于2的数表,工程手册多为三维数表,一般情况下用三维数组表示。 对于下图所示的齿形公差,可以按以下方法程序化: float dd4; 表示齿轮直径分类的上限 float mn6; 表示齿轮模数的分类上限 float ff4612; 表示齿形公差的三维数组,d,mn,精 度 等 级,齿形公差,5.2 线图的程序化,(1)线图所表示的各个参数之间本来就有计算公式,只是由于计算公式复杂,为方便手工计算将公式绘成线图,以供设计时套用 解决方法:直接应用原来的公式 例如:螺旋角系数Z 该线图是根据 Z2=cos 绘制的,(2)线图所表示的各参数之间没有或找不到计算公式,结点选取的基本原则是相邻两结点之函数差较为均匀,渐开线齿形系数,解决方法:把线图离散化成数表,然后按照数表的程序化处理,(3)用曲线拟合的方法求线图的经验公式,再将 公式编入程序,见5.4节,根据传递功率P和主动带轮的转速N,选择三角带的号K,(4)复杂线图程序化,根据具体情况进行处理,int find_type(double N,double P) double A64=4900,3.8,490,0.8,3400,10.5,100,1,2400,22.5,100,2.7, 1500,36,100,5.9,1200,85,100,17.5,700,170,100,44; int i; double c; for(i=0; i=Ai0) return i; c=log10(Ai2)+(log10(Ai0)-log10(Ai2)* (log10(P)-log10(Ai3)/(log10(Ai1)-log10(Ai3); if(N=pow(10.0,c) return i; return 6; ,即,故,5.3 程序插值,函数插值的基本思想: 构造某个简单函数g(x)作为列表函数f(x)的近似表达式,然后计算g(x)值近似代替f(x)值。,5.3.1 一元函数插值,1. 线性插值 (1) 从表格中选取两个相邻的自变量xi,xi+1,满足 xixxi+1 (2) 过(xi,yi) (xi+1,yi+1)两点连直线g(x)代替f(x),则x的函数值为 写成通式:,线性插值函数,int find_liner(double *xx,double *yy,int n,double x,double *y) double x1,y1,x2,y2; int i=0; if(xxxn-1) return 0; while(xxxi) i+; i-; x1=xxi; y1=yyi; x2=xxi+1; y2=yyi+1; *y=y1+(x-x1)*(y2-y1)/(x2-x1); return 1; ,2.抛物线插值,过三点(xi-1,yi-1)(xi,yi)(xi+1,yi+1)做抛物线方程 (1)从已知函数表格中选取二点xi及xi+1,满足 xixxi+1 (2)当x靠近xi时,取xi-1 ,xi ,xi+1。 否则取xi ,xi+1 ,xi+2 (3)当x靠近表头时,取x1 ,x2 ,x3。 (4)当x靠近表尾时,取xn-2 ,xn-1 ,xn。,/一元函数抛物线插值 /xx,yy-节点数据,n-节点个数 int find_quadric(double *xx,double *yy,int n,double x,double *y) double x1,y1,x2,y2,x3,y3; int i=0; if(xxxn-1) return 0; while(xxxi) i+; i-; if(x-xxi)n-3) i=n-3; x1=xxi; y1=yyi; x2=xxi+1; y2=yyi+1; x3=xxi+2; y3=yyi+2; *y=0; *y+=y1*(x-x2)*(x-x3)/(x1-x2)/(x1-x3); *y+=y2*(x-x1)*(x-x3)/(x2-x1)/(x2-x3); *y+=y3*(x-x1)*(x-x2)/(x3-x1)/(x3-x2); return 1; ,5.3.2 二元函数插值,对于具有两个自变量的二元函数的插值,从几何意义上讲是在三维空间内,选定几个点,通过这些点构造一块曲面g(x,y),用它近似地表示在这区间内原有函数f(x,y)。设二元函数以表格形式表示,曲面被分成了许多小块,每一个小块四个角的值可以从表格中查出。为了能得到小块曲面上任一点的函数值,设法构造一个二元函数g(x,y),它能近似地代替原曲面的f(x,y)。因此二元函数插值的实质是如何来构造g(x,y)。g(x,y)取抛物线形式。,二元函数抛物线插值步骤:,根据k点的坐标(xk,yk)找出周围4个点a,b,c,d。再根据抛物线插值中的取点方法取点方法增加e,f,r,s,t 5个点,这样共得9个点。 取点方法:设xixxi+1, 比较(x-xi)和(xi+1-x)的值,取其值小者作为取点延伸方向。 当(x-xi)(xi+1-x),取xi-1,xi,xi+1三个点;否则取xi,xi+1,xi+2三个点。 找出对应上述9个点的a,b,c,d,e,f,r,s,t点,分别求取三条抛曲线导线及其插值点,过abe用抛物线插值求得u点(对应u),再过cdf用抛物线插值得v点(对应v),过rst用抛物线插值求得w点(对应w)。 过uvw用抛物线插值求得k点(对应k),即为所求。,/二元函数插值 x,y-x,y方向位置数组 z-每个位置的函数值 /n,m-x,y方向位置个数 /xk,yk-插入点位置 zk-插入点函数值 /ii-插值方法选择 1-直线-直线 2-抛物线-直线 3-抛物线-抛物线 Void lar(double *x,double *y,double *z,int m,int n,double xk,double yk,double *zk,int ii) int i,ix,iy,j,k,ia,ib,ki; double t,zx3; i=ix=iy=j=k=ia=ib=ki=0; n-; m-; ix=-1; iy=-1; if(xk=xm) ix=m; if(yk=yn) iy=n; if(xkxm | ykyn) if(ix0) for(i=1; i=m; i+) if(xk=xi) ix=i; break; if(iy0) for(i=1; i=n; i+) if(yk=yi) iy=i; break; *zk=ziyix; return ; ,ix=0; iy=0; switch (ii) case 1: ia=2; ib=1; break; case 2: ia=3; ib=2; if(xix+1-xk)(xk-xix) ix-; break; case 3: ia=3; ib=3; if(xix+1-xk)(xk-xix) ix-; if(yiy+1-yk)(yk-yiy) iy-; break; if(ix=m-1) ix=m-2; if(iy=n-1) iy=n-2;,for(ki=0; kiib; ki+) zxki=0; /抛物线插值公式 for(k=ix; kix+ia; k+) t=1; for(j=ix; jix+ia; j+) if(j!=k) t*=(xk-xj)/(xk-xj); zxki+=t*ziy+kik; *zk=0; ki=0; for(k=iy; kiy+ib; k+,ki+) t=1; for(j=iy; jiy+ib; j+) if(j!=k) t*=(yk-yj)/(yk-yj); *zk+=t*zxki; /程序结束,5.4 求经验公式,求经验公式就是设法确定一个能近似地表示表格 函数或曲线函数关系的公式。这种建立经验公式的过程也称为曲线拟合。 最小二乘法是最常用的一种曲线拟合方法。,5.4.1 最小二乘法拟合的基本原理,设由线图或实验所得的n个点(xi,yi)(i=1,2,m) 构造拟合公式 y=f(x) 残差为: ei =f(xi)-yi (i=1,2,m) 残差的平方和为: 要求所构造的拟合公式y=f(x)保证残差的平方和为最小,这就是最小二乘法的曲线拟合。,5.4.2 最小二乘法求线性方程,残差平方和:,则:,由此二式联立,可解出:,5.4.3 用最小二乘法求多项式,设方程的形式是: 已知m个点的值:(xi,yi) (i=1,2,m) 保证mn 残差: ei =f(xi)-yi (i=1,2,m) 残差的平方和为:,令F(ai) , i=0,1,2,n对各自变量的偏导数等于零 即 整理后得: 求解这个方程组得到多项式的各系数,5.4.4 高斯消去法求解线性方程组,对于方程组 AX=B 首先把列矩阵B添加到方阵A的最后一列,把Anxn变成增广矩阵Anx(n+1) 然后进行消元处理把A变成上三角矩阵,且主对角线上各元素皆为1。回代公式为 增广矩阵的最后一列即为方程组的解,反算线性方程组 /Matrix-线性方程组系数的增广矩阵 /M-线性方程组的维数 void Gauss(double *Matrix,int M) /求解 double d,e=1e-15,t; int i,j,k; for(i=0;id) k=j;d=fabs(Matrixji
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《灯光摄影机和渲染》课件
- 苏州科技大学天平学院《建筑工程概预算》2023-2024学年第一学期期末试卷
- 苏州科技大学天平学院《即兴伴奏一》2023-2024学年第一学期期末试卷
- 中等教育的文化理解与跨文化交流考核试卷
- 颌面美容外科手术-颧部美容手术(美容外科学课件)
- 木材的市场需求和发展趋势考核试卷
- 人事行政的组织架构与设计培训优化工作流程考核试卷
- 广告与品牌口碑管理考核试卷
- Salicin-Standard-生命科学试剂-MCE
- 社区电商客服述职报告
- ADS创建自己的元件库
- 探源民国时期的金融改革历史
- MATLAB仿真三相桥式整流电路(详细完美)
- 文件管理系统毕业设计论文
- 2019年重庆普通高中会考通用技术真题及答案
- 天秤座小奏鸣曲,Libra Sonatine;迪安斯,Roland Dyens(古典吉他谱)
- 钢筋混凝土工程施工及验收规范最新(完整版)
- 光缆施工规范及要求
- 三国志11全人物信息(五维、特技、生卒年等)
- 第六章 气体射流
- 华南农业大学本科生毕业论文范例Word版
评论
0/150
提交评论