在CAD应用程序中,可调用的设计资料主要包括:在程序中可直接编写成程序语句的公式、在程序中以数组形式存储的数表数据、在数据文件中存储的数表数据、在数据库中存储的数表数据,共计四种。后两种方式均需要将数据文件或数据库中存储的数表数据以离散数据的形式保存在应用程序的数组或链表中,再加以调用。可见,后三种情况的核心环节是一致的,都是对离散数据(数表数据)的运用。因此,本节的重点是介绍数表数据的调用。
待查数据与对应数据之间无函数关系,如渐开线齿轮的标准模数、滚动轴承的内外径等结构尺寸,以及各种传动的工况系数等。这类数据一般用数组的形式存储,直接检索、调用,不需要改变其数据值。
待查数据与对应数据之间存在一定的函数关系,如带传动包角系数、蜗轮齿顶系数表等。这类数据需要用插值方法来检索。
设函数 y = f ( x )在区间[ p , q ]上有定义,且已知在点 x i ( x i ∈ [ a , b ], i =0,1,2,…, n )上的值 y i ,若存在一个简单的函数 g ( x ),使 g ( x i )= y i 成立,就称 g ( x )为 f ( x )的插值函数。 x i 称为插值结点,[ p , q ]称为插值区间, g ( x )称为插值函数。
插值法的基本步骤如下:
1)在插值点附近选取几个合适的结点。
2)利用相应的数学手段,通过这些结点构造一个简单的函数 g ( x )。
3)用 g ( x )来代替原来的函数 f ( x ),这样插值点的函数值就用 g ( x )的值来代替。
假设已知函数 f ( x )在离散点 x i ∈ [ p , q ]上的值 f ( x i )= y i ,若多项式 g n ( x )满足插值条件:
g n ( x i )= f ( x i )= y i , i =0, 1, 2,…, n
则 g n ( x )称为插值多项式。
假设已知函数 f ( x )在离散点 x i ∈ [ p , q ]上的值 f ( x i )= y i ,若线性函数 g ( x )= a + bx 满足插值条件:
g ( x i )= f ( x i )= y i , i =0, 1, 2,…, n
则 g ( x )称为线性插值函数。线形插值示意图如图2-12所示。
图2-12 线性插值示意图
选取两个相邻自变量 x i 和 x i +1,利用经过点( x i ,y i )和点( x i +1, y i +1)的直线,可以求出函数 g ( x ):
线性插值存在一定的误差,将自变量的间距取得尽可能小,可减少误差。
某试验获取的试验数据见表2-14。当 x =3.6时,利用线性插值法计算对应的变量 y 的数值。
表2-14 试验数据
因为 x 的取值介于第3结点和第4结点之间,所以将 i =3, i+ 1=4代入线性插值函数,则
假设已知函数 f ( x )在离散点 x i ∈ [ p , q ]上的值 f ( x i )= y i ,若线性函数 g ( x )= a + bx + cx 2 满足插值条件:
g ( x i )= f ( x i )= y i , i =0, 1, 2,…, n
则 g ( x )称为抛物线插值函数。抛物线插值示意图如图2-13所示。根据3点插值公式,可以求出函数 g ( x )表达式为
图2-13 抛物线插值示意图
抛物线插值的误差要比线性插值小。抛物线插值的关键是根据插值点 x 选取合适的3个点,采取临近原则,选取方法如下。
设插值点为 x 且 x i -1 < x < x i , i =3, 4, …, n -1。
1)若| x-x i -1 ≤| x-x i |,即 x 靠近 x i -1 ,则选 x i -2 , x i -1 , x i 。
2)若| x-x i -1 |>| x-x i |,即 x 靠近 x i ,则选 x i -1 , x i , x i +1 。
3)若 x 1 ≤ x ≤ x 2 ,即 x 靠近表头,则选 x 1 , x 2 , x 3 。
4)若 x n -1 ≤ x ≤ x n ,即 x 靠近表尾,则选 x n -2 , x n -1 , x n 。
假设已知函数 f ( x )在离散点 x i ∈ [ p , q ]上的值 f ( x i ) =y i ( i =0, 1, 2, …, n ),利用 m +1个结点的信息得到 m 次多项式 y=g ( x )以拟合函数 f ( x ),即
其中,插值基函数为
所以,拉格朗日插值函数为:
二元函数插值的几何意义是在三维空间内选定几个点,通过这些点构造一块曲面 g ( x , y ),用这块曲面近似表示在其区间内原有的曲面 f ( x , y ),从而求出插值后的函数值。
(1)双线性插值
双线性插值示意图如图2-14所示。
根据 k 点的坐标( x k , y k )找出周围4个点 a , b , c , d ,并且有以下关系式:
x a = x c ; x b = x d ; y a = y b ; y c = y d
x a < x k < x b ; y a < y k < y c
找出对应于 a , b , c , d 的 A , B , C , D ,过 A 、 B 用线性插值求得点 E ,再过 C 、 D 用线性插值求得 F 点。过 E 、 F 再用线性插值求得 K 点,即为所求。
(2)抛物线-直线插值
抛物线-直线插值示意图如图2-15所示。
图2-14 双线性插值示意图
图2-15 插值示意图
根据 k 点的坐标( x k , y k )找出周围四个点 a , b , c , d ,并根据抛物线插值中的取点方法增加 e 和 f 这2个点,这样共得6个点。
找出对应上述6个点的 A , B , C , D , E , F ,过 A 、 B 、 E 用抛物线插值求得 U 点,再过 C 、 D 、 F 用抛物线插值求得 V 点。
过 U 、 V 再用线性插值求得 K 点,即为所求。
(3)双抛物线插值
双抛物线插值示意图如图2-16所示。
图2-16 双抛物线插值示意图
根据 k 点的坐标( x k , y k )找出周围四个点 a , b , c , d ,并根据抛物线插值中的取点方法增加 e 、 f 、 r 、 s 、 t 这5个点,这样共得9个点。
过 A 、 B 、 E 用抛物线插值求得 U 点,过 C 、 D 、 F 用抛物线插值求得 V 点,再过 R 、 S 、 T 用抛物线插值求得 W 点。
再过 U 、 V 、 W 用抛物线插值求得 K 点,即为所求。
在设计过程中,有时要求对计算出的参数取整数(如齿数、皮带根数),或者要求圆整到标准值(如中心距、直径等)。
为使设计符合国家标准,对于某些标准系列的参数,计算后必须取标准值。例如,选取三角带轮的标准直径、齿轮的标准模数等。