Step函数?相信大家对step的用法已经是相当的熟练了,在这里我只是想把自己对step的理解总结一下,希望能对大家有所帮助。?首先简要介绍下step的形式及其各个参数的物理含义:?格式:STEP(x,x0,h0,x1,h1)?参数说明:?Step函数是3次多项式逼近阶跃函数?Step5函数是5次多项式逼近阶跃函数?x―自变量,可以是时间或时间的任一函数?x0―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;?x1―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量?h0―STEP函数的初始值,可以是常数、设计变量或其它函数表达式?h1―STEP函数的最终值,可以是常数、设计变量或其它函数表达式Step函数而在实际的运用过程中,它有两种表示方法,一种是嵌入式:STEP(x,x0,h0,x1,(STEP(x,x1,h1,x2,(STEP(x,x2,h2,x3,h2)))))(当然你可以嵌套更多的)另一种就是增量式:STEP(x,x0,h0,x1,h1)+STEP(x,x1,h2,x2,h3)+STEP(x,x2,h4,x3,h5)+……我常用的是后者,下面就举例()说明下他们的区别。其实他们都可以表示同一种你所需要的曲线,如下所示曲线:用嵌入式可表示为:step(time,0,0d,3,(step(time,3,0d,5,(step(time,5,5d,8,(step(time,8,5d,10,(step(time,10,0d,12,0d)))))))))用增量式表示为:step(time,3,0,5,5)+step(time,5,0,8,0)+step(time,8,0,10,-5)在使用后者的过程中很多人会误表示为:step(time,0,0d,3,0d)+step(time,3,0d,5,5d)+step(time,5,5d,8,5d)+step(time,8,5d,10,0d)+step(time,10,0d,12,0d)还有一种是错误的:step(time,3,0d,5,5d)+step(time,8,5d,10,0d)这两种都是错误的表示的方法,不信你自己可以试试的?总结:从上面的例子中大家可以清楚的看出,增量式明显比嵌入式要简洁的多,但是嵌入式却比增量式思路要清晰、严谨的多,他们各有自己的优点,所以大家可以针对性的使用他们,习惯用什么方式就用什么方式,当然他们还有其他的不同点我还没想到的,也欢迎你多多提出意见。IF与step?IF(x1:x2,x3,x4)如果x1<0,返回x2;如果x1=0,返回x3;如果x1>0,返回x4;?STEP(x,x0,h0,x1,h1)一种是嵌入式:STEP(x,x0,h0,x1,(STEP(x,x1,h1,x2,(STEP(x,x2,h2,x3,h2)))))(当然你可以嵌套更多的)另一种就是增量式:STEP(x,x0,h0,x1,h1)+STEP(x,x1,h2,x2,h3)+STEP(x,x2,h4,x3,h5)+……?if(time-1:-30*time,-30,if(time-3:-30+58*(time-1),-30,if(time-4:86-*(time-3),86-*(time-3),if(time-5:-*(time-4),-*(time-4),0))));step(time,0,0,1,-30*time)+step(time,1,0,3,-30+58*(time-1))+step(time,3,0,4,86-*(time-3))+step(time,4,0,5,-*(time-4))If函数?在ADMA中如何输入力或位移、速度、加速度等的分段曲线,这一直是一个值得注意的问题。?下面用一个小例子进行简单说明:(这个例子实际上就是常见的加速-匀速-减速问题)?1)要输入的速度函数为:?10*t(0<t<)?V=1(<t<)?-10*t+5(<t<)?2)在ADMAS中的表示:?velo(time)=if(time-:step(time,0,0,,1),1,step(time,,1,,0))或if(time-:10*time,1,if(time-:1,1,if(time-:-10*time+5,0,0)))Adams/View设计函数总结一、基本数学函数ABS(x)数字表达式x的绝对值DIM(x1,x2)x1>x2时x1与x2之间的差值,x1<x2时返回0EXP(x)数字表达式x的指数值LOG(x)数字表达式x的自然对数值LOG10(x)数字表达式x的以10为底的对数值MAG(
adams函数使用方法介绍 来自淘豆网m.daumloan.com转载请标明出处.