设计资料的程序处理.ppt

上传人:牧羊曲112 文档编号:6344117 上传时间:2023-10-18 格式:PPT 页数:29 大小:654KB
返回 下载 相关 举报
设计资料的程序处理.ppt_第1页
第1页 / 共29页
设计资料的程序处理.ppt_第2页
第2页 / 共29页
设计资料的程序处理.ppt_第3页
第3页 / 共29页
设计资料的程序处理.ppt_第4页
第4页 / 共29页
设计资料的程序处理.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《设计资料的程序处理.ppt》由会员分享,可在线阅读,更多相关《设计资料的程序处理.ppt(29页珍藏版)》请在三一办公上搜索。

1、第5章 设计资料的程序处理,两种设计资料的处理方法将设计资料转变成程序,即程序化利用数据库管理设计资料,5.1数据表格的程序处理,数表的分类:一维变量表 二维变量表 多维变量表 数表的来源:数据表格本来就有精确的理论计算公式,仅仅是为了便于手工计算才把这些公式以数表的形式给出。数表中的数据,彼此之间不存在一定的函数关系或是由实验获得的。,一维数表,Float kw6=0.39e-3,1.03e-3,2.65e-3,7.50e-3,26.6e-3,49.8e-3;在已知三角带型号type的情况下 直接调用 kwtype即可。,一般用一维数组直接在程序中实现。例如:,平键公称尺寸及键槽尺寸,如下图

2、所示,其特别之处在于变量轴径d有一定范围。解决方法是把该表分成5个一维表进行处理,5.1.2 二维数表,二位数表有两个变量。一般情况下是将数表用 二维数组表示。例如:,齿轮传动工况系数,5.1.3 多维数表,变量个数大于2的数表,工程手册多为三维数表,一般情况下用三维数组表示。对于下图所示的齿形公差,可以按以下方法程序化:float dd4;表示齿轮直径分类的上限 float mn6;表示齿轮模数的分类上限 float ff4612;表示齿形公差的三维数组,d,mn,精 度 等 级,齿形公差,5.2 线图的程序化,(1)线图所表示的各个参数之间本来就有计算公式,只是由于计算公式复杂,为方便手工

3、计算将公式绘成线图,以供设计时套用 解决方法:直接应用原来的公式 例如:螺旋角系数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,1

4、00,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.

5、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

6、;,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)r

7、eturn 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),用它近似地表示在这区

8、间内原有函数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

9、,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,doubl

10、e*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

11、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;

12、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)保证残差的平方和为最小,这就是最

13、小二乘法的曲线拟合。,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。回代公式为增广矩阵的最后一列

14、即为方程组的解,反算线性方程组/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);if(k!=i)for(j=0;j=0;k-)for(j=k+1;jM;j+)MatrixkM-=Matrixkj*MatrixjM;,5.5 有关数据的处理,恒等比较 对于实数的比较要有一个控制误差:fabs(x-y)e圆整:圆整到小于C的最大整数:c=(int)(c)按照四舍五入的原则圆整:c=(int)(c+0.5)取标准值把标准数值用列成表格,按照大值取标准数。例如三角胶带轮的标准直径选取和齿轮模数的选取。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号