step函数 格式step(x,x0,h0,x1,h1) x为自变量,在ug里一般定义为time x0为自变量初始值,在UG里可以是时间段中的开始时间点 h0为自变量x0对应的函数值,可以是常数、设计变量或其他函数表达式 x1为自变量结束值,在ug里可以是时间段中结束时间点 h1为自变量x1对应的函数值,可以是常数、设计变量或其他函数表达式 函数曲线图
/ a/ W3 {4 @& D# ] 数学表达式 step(time,t0,h0,t1,h1)= h0(time≤t0) h0+(( time-t0)/(t1-t0))2*(h1-h2) h1(time≥t1) 解释: 在时间段t0到t1时间段内,函数以中间波浪线样子的二次函数变化,在时间t0之前的时间段内,函数是h0的恒定数值变化,在时间t1后,函数是h1的恒定数值变化,也就是函数值经过时间段后t0到t1后,函数值发生了突变,当t0与t1非常接近的时候,可以近似认为,函数变化为一条直线,但是t0和t1不能相等,从t0-t1的数学表达式就可以知道,这是一个无解,h0和h1可以相等,相等以后,整个函数曲线即为一条直线 多个时间段内函数值发生突变的函数表达
, x0 V4 t5 n, ?" E& Nstep(time,2,1,3,3)+step(time,4,0,5,-3) 也可以表达成step(time,2,1,3,step(time,4,0,5,-3)) 一般使用第一种加法形式较好,简洁明了,便于理解 对于时间段4-5内,时间点4位置对应数值不是3,而是0,这是一个相对概念,指此处函数值是相对于上一个时间段函数值,所以为0,如果是3的,那4对对应函数值将变成6,因此可见,相对函数值为3-3=0,5时间点对应函数值,同理为0-3= -3。 有这个例子可知,可以用step函数来控制连杆在不同时间段做不同运动规律的运动。
8 P" X# [& J7 a$ l' R1 U9 }. _1 S
不同时间段,连杆做不同函数运动形式
* S) `1 D) t# y$ L$ Q2 M t0-t1时间段内,让连杆以f(x)函数形式运动;t1-t2时间段内,让连杆以直线形式运动,在t2-t3内,让连杆以g(x)函数形式运动,以此实现连杆在不同时间段以两种或多种函数形式运动。 t0-t1时间段函数图形转换 % X! Q/ K# m( O$ M6 K
按照相同时间段将第一个函数运动图转换为第二个函数运动图,按照step函数表达可以写出: t0-t1时间段,step表达为 (step(time,t0+0.001,0,t0,1)+step(time,t1+0.001,0,t1,-1)) 由于step函数时间段起始和结束时间点不能相等,也就是不能是垂直直线形式图变,因此可以在时间点t0附近添加一个微小时间段,近似垂直直线形式突变。 如果将转换形式的step函数*f(x),那么连杆在t0-t1时间段的运动形式就可以以f(x)运动,大家也可以从函数值上来理解,就是1乘以任何数值无法改变被乘数值,即f(x)任何函数值与1相乘,数值不变,即实现连杆在t0-t1时间内以f(x)形式运动。 由此可知在t0-t1时间段内,f(x)运动形式表达为 (step(time,t0+0.001,0,t0,1)+step(time,t1+0.001,0,t1,-1))* f(x) t1-t2时间段函数图形转换
( ]7 {0 i. x3 w) R 在t1-t2时间段,这个时间段为直线运动,按照矩形方波图形,step函数形式表达 step(time,t1+0.001,0,t1,1)+ step(time,t2+0.001,0,t2,-1) 依据第一个时间段详细讲解,可知,t1-t2时间段内,连杆运动形式表达为 (step(time,t1+0.001,0,t1,1)+ step(time,t2+0.001,0,t2,-1))*h1 t2-t3时间段函数图形转换 6 g( q, w' J: P% g
t2-t3时间段,根据矩形方波,step表达为 step(time,t2+0.001,0,t2,1)+step(time,t3+0.001,0,t3,-1) 由上可知,在t2-t3时间段内,g(x)运动形式表达为 (step(time,t2+0.001,0,t2,1)+step(time,t3+0.001,0,t3,-1))*g(x) 总结 不同时间段,不同函数运动形式step表达方式,只需要将每个时间段变成0-1的矩形方波,将时间段开始和结束时间点添加一个微小时间段,对开始时间点添加微小时间增量的时间段,进行step函数书写后,再对结束时间点进行相同的step函数书写,将开始和结束时间的step函数进行加和后再乘以相应的函数,即可完成相应函数的运动形式。 第一个图中连杆的两种函数g(x)、f(x)还有直线的step函数控制为: (step(time,t0+0.001,0,t0,1)+step(time,t1+0.001,0,t1,-1))* f(x)+(step(time,t1+0.001,0,t1,1)+ step(time,t2+0.001,0,t2,-1))*h1+(step(time,t2+0.001,0,t2,1)+step(time,t3+0.001,0,t3,-1))*g(x) 多项式函数 poly(x,x0,a0,a1,a2,……,a30) =a0+a1*(x-x0)+ a1*(x-x0)2+……+a30*(x-x0)30 x是自变量。x0为初始值,a0到a30为系数,当x0=0时,取到a1系数,则多项式为一条一次曲线,y=a0+a1*x,当取到a2系数时,则多项式为一条二次曲线(抛物线),y=a0+a1*x+a2*x2 由此可知,多项式函数是控制连杆线性运动或二次曲线运动的函数,x取变量time
: Q, j ]9 a% e- U" g6 }4 M
余弦函数——简谐运动 shf(x,x0,a,w,phi,b) =asin(w(x-x0)-phi)+b 简谐运动既是最基本也是最简单的一种机械振动,如果一个质点的运动方程有如下形式:
, {1 Q" O4 q# Q. O" i) s8 ?( } 即,质点的位移随时间的变化是一个简谐函数,显然此质点的运动为简谐振动。w为角速度,单位为度/秒或者弧度/秒。 下图为简谐运动的图像,表示的是振动物体的位移随时间变化的规律。是一条正弦或余弦曲线。
6 V0 N0 m6 `0 o7 U" V- Y8 ?& ^: ^ 由以上讲解可知,shf函数中,x为变量,一般取time,x0为初始时间点,a为振幅,w为角速度,phi为初项,也就是t等于0时,角度值,b表示截距,也就是余弦函数的位移。 ( ]3 ?; s* D1 k1 i5 i
|