机械cad技术概论内容摘要:

面将叙述)。 已知包角值为α1,定义两个一维数组:float alpha[10]={ 90 . 0 , 100 . 0 , … ,170 . 0 , 180 . 0 }。 float K2[10]={ 0 . 68 , 0 . 74 ,… , 0 . 98 , 1 . 00 }。 调用一元函数的插值函数(见3 . 1 . 2 节),即可求出实际的系数值。 四、齿轮传动工况系数KA (见表3 一4 ) 决定工况系数KA值时有两个自变量,即原动机的载荷特性和工作机的载荷特性,它们原本无数值概念,现分别定义整型变量i =0~2 及j=0~2 代表不同工况,用一个二数组KK [ 3 , 3 ]记录表中系数值。 因为表中自变量及函数的值均为离散值,因此查表时无须插值。 有关变量及数组的定义如下:float KA。 / *查得的系数值*/ int i , j。 float KK [ 3 ][ 3 ] = { { 1 . 0 , 1 . 2 5,1 . 7 5 } , { 1 .2 5 , 1 . 5 0 , 2 . 0 0 } , { 1 . 5 , 1 . 75 , 2 . 25 } }。 查表的流程图见图3 一3。 五、轴肩圆角处理论应力集中系数αa(见表3 一5 ) 决定系数αa时有两个自变量,即:r / d 和D / d ,因此这是一个二维查表问题。 将表中系数αa值记录在一个二维数组AA [ 6 , 10 ]中。 这个查表问题的特殊之处是两个自变量及系数αa均有可能是连续量,这是因为由设计所得的D , d 及r值在一定范围内是随机的,因此必须采用二元函数插值。 六、 单根v 带(Y , Z , A , B 型)的基本额定功率P 1(见表3 一6 ,摘自GB / T13575 . 1 一1992)为了查得单根V 带所传递的功率P1 ,查表时取决于三个自变量,即带型、小带轮直径及小带轮转速,因此是一个三维查表问题。 可将表中P1 值记录在一个三维数组中,例如NN ( 4 , 4 , 14 )。 这时如果还在程序中对此数组初始化会很不方便,因为数据太多。 可将表中P1值放在一个数据文件中,当程序开始运行时打开文件,将数据读人三维数组中。 这类问题可以降为连续的两个低维查表问题。 本例可先由带型及小带轮直径查出表中一行数据,再根据小带轮转速进行一维查表,在后一个查表中要用一元函数插值。 前面例4 和例5 中的二维查表问题也可化为两个连续的一维查表问题。 总之,在实际程序化时可灵活掌握。 一元函数插值设有一用数据表格给出的列表函数y = f ( x ), 如下表: 表37 列表函数x x 1 x 2 x 3 … x ny y 1 y 2 y 3 … y n由于列表函数只能给出结点x 1, x 2 ,… ,x n处的函数值y 1, y 2 ,… ,y n ,当自变量为结点的中间值时,当精度要求较低时可用附近结点上的函数值来近似代替;如果要求较高,则须用插值的方法求得。 插值的基本思想是,设法构造一个函数y = g (x) 作为列表函数f (x )的近似表达式,然后计算g ( x )的值以得到f ( x ) 的值。 最常用的近似函数类型为代数多项式(即形式为:)。 代数插值的数学含义可表述如下:设y = f ( x ) 是区间 [ a , b ]上的连续函数,已知它在[ a , b ]上的几个互于相同的点x1 , x2 , x3 , …, xn 上的函数值 y1 , y2, y3, …, yn。 若代数多项式g ( x ) 满足 g ( xi ) = yi(i = 1,2,3, …,n)则称g (x) 为函数y = f (x )的插值多项式, x1 ,x2 ,x3 , …, xn 为插值结点,区间 [ a , b ]为插值区间,y = f ( x )称为被插值函数。 插值问题的几何意义是:通过给定的n个点(x1 , y1),(x2 , y2) ,(x3 , y3) ,…,(xn , yn) 作一条n 1次的代数曲线y = gn1 (x),用以近似地表示曲线y = f (x)。 一、 线性插值最简单的插值为两点插值,即用一个一次多项式y = g1 (x ) 作为插值多项式,使两个插值点满足此式。 其几何意义就是求通过两点(x1 , y1), ( x2 , y2)的直线。 通过这两点的直线方程为: 图34 两点插值的几何意义二、 二次插值线性插值只用到两个数据点的信息,计算简单,但求得的y = f (x) 误差较大。 如果多用一些数据点来求y = f ( x )的近似值,其结果的精确程度就会改善。 设已知y = f (x )在xxx3上的值为yyy3 ,这时求作一个二次多项式y = g2 ( x ) ,使g2(x i) = yi ,i = 1 ,2 ,3。 其几何意义是通过三点作一条曲线来近似曲线y =f ( x )。 如果三个点不在一直线上,作出的曲线就是抛物线。 g2(x)叫做二次插值多项式。 这种插值称为二次插值或抛物线插值。 一般来说,二次插值的近似程度比线性插值要好些。 三、拉格朗日插值公式将线性插值和二次插值的方法推而广之,可以求得n个结点的n1 次插值多项式为: 注意:适当提高插值公式的阶数可以改善插值精度,但阶数太高的插值公式效果并不好。 在实际进行插值时,通常采用分段插值方法,将插值范围划分为若干段,在每一分段上用低阶插值(如线性插值或抛物线插值)。 介绍书p39公式再说下面的框图 (3 2)注意:xixxi+1 说明是内插。 二元函数的插值复杂,不讲。 线图的程序化在工程设计中,时常遇到一些线图供查找系数或参数等使用,有些还以曲线族的形式给出,例如图3 一11 就是根据齿轮在轴上不同的布置方式,根据齿宽系数φd 查找齿轮载荷系数Kβ 的一族曲线。 线图的程序化有以下几种处理方法。 ( 1 )找到线图原来的公式,将公式编人程序。 但不是所有的线图都存在着原来的公式,即使有,有的一时也难以找到。 如能找到,这是最精确的程序化处理办法。 ( 2 )将线图离散化为数表,再用前面所述方法加以处理。 例如表3 一8 就是图3 一6 离散化后形成的数表。 ( 3 )用曲线拟合的方法求出线图的经验公式,再将公式编人程序,下一节将详细讨论这个问题。 图3—6 齿轮载荷分布系数Kβ1一齿轮在轴上对称布置;2一非对称布置,轴刚性大;3一非对称布置,轴刚性小;4一悬臂布置b一齿宽,mm;d1一分度圆直径,mm 表 38 齿轮载荷分布系数Kβ 建立经验公式的方法实际的工程问题中时常需要用一定的数学方法将一系列测试数据或统计数据拟合成近似的经验公式,这种建立经验公式的过程也称为曲线拟合。 本节主要叙述采用最小二乘法的曲线拟合。 如图3 一7 中1 ~ 9 为已知点,y = f ( x )是拟合所得的曲线,它不一定通过所有点,但尽可能接近这些点,因此反映了所给数据的趋势,比较符合实际规律。 一、 最小二乘法拟合的基本思想已知:由线图或实验所得m 个点的值 ( x1 ,y1 ) , ( x2 ,y2) ,… ,( xm,ym )设拟合公式为 因此每一结点处的偏差为: i = 1 , 2 ,… ,m偏差的平方和为 图37 最小二乘法的曲线拟合 拟合公式y = f ( x ) 具有一定的函数类型及系数,例如 即为直线方程,如何决定系数及的值呢。 最基本的要求就是由该系数决定的直线与各结点的偏差的平方和最小,因此称最小二乘法拟合。 拟合公式的类型通常可以选取初等函数,如对数函数、指数函数、代数多项式等。 这一工作由编程人员来决定,一般先将数据画在方格纸上,根据曲线形态判断所采用的函数类型。 本节只讨论在选定函数类型的情况下如何确定各系数值的问题。 二、最小二乘法的多项式拟合设拟合公式为: 已知m个点的值( x1, y1 ), ( x2, y2 ), … ( xm, ym ), 且mn, 结点偏差的平方和为: 这表明偏差平方和是的函数,为使其最小,取对各自变量的偏导数等于零,得: 0, 1, 2, …, n即 0,1,2,…,n求各偏导数并经整理后可得下面的方程组: (35)其中,均为对i = 0, 1, 2, …, m求和。 上公式中待定的系数(a0, a1, a2, …,an)共(n+1)个,方程也是(n+1)个,因此解此联立方程,就可求得各系数。 例31.有一组实验数据如下表,它有7个点,现要求用二次多项式拟合。 点号 1 2 3 4 5 6 7x值y值3 2 1 0 1 2 3 4 2 3 0 1 2 5设经验公式为 由上述实验数据及经验公式知m=7,n=2,代入公式(35)得以下3个方程: ()把用表中的值代入,得: 求解得: 最后得拟合后的经验公式: 注意:( 1 )多项式的幂次不能太高,一般小于7 ,可先用较低的幂次,如误差较大则再提高。 ( 2 )一组数据或一条线图有时不能用一个多项式表示其全部,此时应分段处理,分段大都发生在拐点或转折之处。 此外如欲提高某区间的拟合精度,则应在该区间上采集更多的点。 简谈:为了计算复杂函数的值,前面介绍几种方法,都是设法求出其近似式——插值函数,最优平方逼近函数,最优一致逼近函数,通过计算近似式的值求得复杂函数的近似值。 三、最小二乘法的其他函数的拟合 :除代数多项式外,根据情况还可采用: ( 1 )幂函数 ;( 2 )指数函数 ;( 3 )对数函数。 总结插值和拟合的相同点和不同点:都是近似函数(在此都是代数多项式),内插曲线必须经过每一个采样点,而拟合曲线则不需要通过采样点,因此内插法适用于噪声很少的采样数据。 插值(interpolation)可用于预估在数据点中间的函数值,而拟合是利用有限的采样点(Sample Points ) 来建立一个数学模型。 MATLAB语言简介一、 MATLAB的用途及界面: 用途:可用来进行各种数值运算、控制系统仿真、数字信号处理、财经工程等。 界面: 提示符,可在其后输入各种表达式,按回车键即可。 先通过《CAD》p49的解联立线性方程引出MATLAB的特点。 二、 初探MATLAB 基本运算与变量的使用:MATLAB能识别一般常用的加(+)、减(—)、乘( * )、除( / )、幂( ^ ) 等运算符号,还能进行与矩阵相关的数学运算,如转置( ‘ )、左除( \ )、右除( / )、冒号( : )等。 注意运算符的优先级( 转置、幂、乘、除、加、减、冒号 )若对运算符的优先级有疑虑时,最好的方法是加上括号来强制实现所需的运算顺序。 例子: (5*2+)/5 ans = 解释变量ans (5*2+)/5。 解释。 如果想看ans的内容 ans x = (5*2+)/5 y = (5*2+)/5。 %将运算结果存储于变量y,但不用显示于屏幕 MATLAB会将所有在 % 之后的文字视为程序的注释(Comment),可提高程序的可读性,% 之后的文字会被MATLAB忽略不执行。 MATLAB可同时执行以逗号( ,)或分号( ;)隔开的数个表达式: x = sin(pi/3), y=x^2。 z=y*10 若一个数学运算式太长,可用三个句号(…)将其延伸到下一行 z = 10*sin(pi/3)*… sin(pi/3) 表 39 MATLAB的永久常数 注意: 、变量命名规则:第一个字母必须是英文字母; 字母间不可留空格; 最多只能有31个字母; MATLAB在使用变量时,不需预先经过变量声明,而且所有数据变量均以默认的double数据类型储存。 、MATLAB除了能完成数学运算外,还能完成关系运算、逻辑运算、位运算和集合运算。 向量与矩阵的处理:在上面的例子中,MATLAB的变量是来储存标量(Scalars),其实MATLAB中的变量还可用来储存向量(Vectors)及矩阵(Matrix),。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。