您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > adams函数使用方法介绍
Adams学术交流制作者:瞿李凯、王雷单位:北华大学机电集成技术研究所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.cmd文件)说明下他们的区别。其实他们都可以表示同一种你所需要的曲线,如下所示曲线:用嵌入式可表示为: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)如果x10,返回x2;如果x1=0,返回x3;如果x10,返回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-64.5*(time-3),86-64.5*(time-3),if(time-5:21.5-21.5*(time-4),21.5-21.5*(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-64.5*(time-3))+step(time,4,0,5,21.5-21.5*(time-4))If函数•在ADMA中如何输入力或位移、速度、加速度等的分段曲线,这一直是一个值得注意的问题。•下面用一个小例子进行简单说明:(这个例子实际上就是常见的加速-匀速-减速问题)•1)要输入的速度函数为:•10*t(0t0.1)•V=1(0.1t0.4)•-10*t+5(0.4t0.5)•2)在ADMAS中的表示:•velo(time)=if(time-0.1:step(time,0,0,0.1,1),1,step(time,0.4,1,0.5,0))或if(time-0.1:10*time,1,if(time-0.4:1,1,if(time-0.5:-10*time+5,0,0)))Adams/View设计函数总结一、基本数学函数ABS(x)数字表达式x的绝对值DIM(x1,x2)x1x2时x1与x2之间的差值,x1x2时返回0EXP(x)数字表达式x的指数值LOG(x)数字表达式x的自然对数值LOG10(x)数字表达式x的以10为底的对数值MAG(x,y,z)向量[x,y,z]求模MOD(x1,x2)数字表达式x1对另一个数字表达式x2取余数RAND(x)返回0到1之间的随机数SIGN(x1,x2)符号函数,当x20时返回ABS(x)当x20时返回-ABS(x)SQRT(x)数字表达式x的平方根值数学函数二、三角函数SIN(x)数字表达式x的正弦值SINH(x)数字表达式x的双曲正弦值COS(x)数字表达式x的余弦值COSH(x)数字表达式x的双曲余弦值TAN(x)数字表达式x的正切值TANH(x)数字表达式x的双曲正切值ASIN(x)数字表达式x的反正弦值ACOS(x)数字表达式x的反余弦值ATAN(x)数字表达式x的反正切值ATAN2(x1,x2)两个数字表达式x1,x2的四象限反正切值三、取整函数INT(x)数字表达式x取整AINT(x)数字表达式x向绝对值小的方向取整ANINT(x)数字表达式x向绝对值大的方向取整CEIL(x)数字表达式x向正无穷的方向取整FLOOR(x)数字表达式x向负无穷的方向取整NINT(x)最接近数字表达式x的整数值RTOI(x)返回数字表达式x的整数部分位置/方向函数一、位置函数LOC_ALONG_LINE返回两点连线上与第一点距离为指定值的点LOC_CYLINDRICAL将圆柱坐标系下坐标值转化为笛卡儿坐标系下坐标值LOC_FRAME_MIRROR返回指定点关于指定坐标系下平面的对称点LOC_GLOBAL返回参考坐标系下的点在全局坐标系下的坐标值LOC_INLINE将一个参考坐标系下的坐标值转化为另一参考坐标系下的坐标值并归一化LOC_LOC将一个参考坐标系下的坐标值转化为另一参考坐标系下的坐标值LOC_LOCAL返回全局坐标系下的点在参考坐标系下的坐标值LOC_MIRROR返回指定点关于指定坐标系下平面的对称点LOC_ON_AXIS沿轴线方向平移LOC_ON_LINE返回两点连线上与第一点距离为指定值的点LOC_PERPENDICULAR返回平面法线上距离指定点单位长度的点LOC_PLANE_MIRROR返回特定点关于指定平面的对称点LOC_RELATIVE_TO返回特定点在指定坐标系下的坐标值LOC_SPHERICAL将球面坐标转化为笛卡儿坐标LOC_X_AXIS坐标系x轴在全局坐标中的单位矢量LOC_Y_AXIS坐标系y轴在全局坐标中的单位矢量LOC_Z_AXIS坐标系z轴在全局坐标中的单位矢量二、方向函数ORI_ALIGN_AXIS将坐标系按指定方式旋转至与指定方向对齐所需旋转的角度ORI_ALONG_AXIS_EUL将坐标系按指定方式旋转至与全局坐标系一个轴方向对齐所需旋转的角度ORI_ALL_AXES将坐标系旋转至由平面上的点定义的特定方向(第一轴与指定平面上两点连线平行,第二轴与指定平面平行)时所需旋转的角度ORI_ALONG_AXIS将坐标系旋转至其一轴线沿指定轴线方向时所需旋转的角度ORI_FRAME_MIRROR返回坐标系旋转镜像到指定坐标系下所需旋转的角度ORI_GLOBAL返回参考坐标系在全局坐标系下的角度值ORI_IN_PLANE将坐标系旋转至特定方向(与指定两点连线平行、与指定平面平行时所需旋转的角度ORI_LOCAL返回全局坐标系在参考坐标系下的角度值ORI_MIRROR返回坐标系旋转镜像到指定坐标系下所需旋转的角度ORI_ONE_AXIS将坐标系旋转至其一轴线沿两点连线方向时所需旋转的角度ORI_ORI将一个参考坐标系转化为另一参考坐标系所需旋转的角度ORI_PLANE_MIRROR返回坐标系旋转生成关于某平面的镜像所需旋转的角度ORI_RELATIVE_TO返回全局坐标系下角度值相对指定坐标系的旋转角度建模函数•一、距离函数•DM返回两点之间的距离•DX返回在指定参考坐标系中两点间的X坐标值之差•DY返回在指定参考坐标系中两点间的Y坐标值之差•DZ返回在指定参考坐标系中两点间的Z坐标值之差二、角度函数AX返回在指定参考坐标系中两点间关于X轴的角度差AY返回在指定参考坐标系中两点间关于Y轴的角度差AZ返回在指定参考坐标系中两点间关于Z轴的角度差三、按313顺序的旋转角度PSI按照313旋转顺序,返回指定坐标系相对于参考坐标系的第一旋转角度THETA按照313旋转顺序,返回指定坐标系相对于参考坐标系的第二旋转角度PHI按照313旋转系列,返回指定坐标系相对于参考坐标系的第三旋转角度四、按照321顺序的旋转角度YAW按照321旋转顺序,返回指定坐标系相对于参考坐标系的第一旋转角度PITCH按照321旋转顺序,返回指定坐标系相对于参考坐标系的第二旋转角度的相反数ROLL按照321旋转顺序,返回指定坐标系相对于参考坐标系的第三旋转角度矩阵/数组函数•矩阵/数组的基本操作函数•ALIGN将数组转换到从特定值开始•ALLM返回矩阵元素的逻辑值•ANGLES将方向余弦矩阵转换为指定旋转顺序下的角度矩阵•ANYM返回矩阵元素的逻辑和•APPEND将一个矩阵中的行添加到另一矩阵•CENTER返回数列最大、最小值的中间值•CLIP返回矩阵的一个子阵•COLS返回矩阵列数•COMPRESS压缩数组、删除其中的空值元素(零,空字符及空格)•CONVERTANGLES将313旋转顺序转化为用户自定义的旋转顺序•CROSS返回两矩阵的向量积•DET返回方阵M的行列式值DIFF返回给定数据组的逼近值DIFFERENTIATE曲线微分DMAT返回对角线方阵DOT返回两矩阵的内积ELEMENT判断元素是否属于指定数组EXCLUDE删除数组中某元素FIRST返回数组的第一个元素FIRST_N返回数组的前N个元素INCLUDE向数组中添加元素INTEGR返回数据积分的逼近值INTERATE拟合样条曲线后再积分INVERSE方阵求逆LAST返回矩阵最后一个元素LAST_N返回矩阵最后N个元素MAX返回矩阵元素的最大值MAXI返回矩阵元素最大值的位置索引MEAN返回矩阵元素的平均值MIN返回矩阵元素的最小值MINI返回矩阵元素最小值的位置索引NORM2返回矩阵元素平方和的平方根NORMALIZE矩阵归一化处理RECTANGULAR返回矩阵所有元素的值RESAMPLE按照指定内插算法对曲线重新采样RESHAPE按指定行数列数提取矩阵元素生成新矩阵RMS计算矩阵元素的均方根值ROWS返回矩阵行数SERIES按指定初值、增量和数组长度生成数组SERIES2按指定初值、终值和增量数生成数组SHAPE返回矩阵行数、列数SIM_TIME返回仿真时间SORT依据一定顺序对数组元素排序SORT_BY依据一定的排列位置索引对数组元素排序SORT_INDEX依据一定顺序的数组元素排列位置索引SSQ返回矩阵元素平方和STACK合并相同列数的矩阵成一个新矩阵STEP生成阶跃曲线SUM矩阵元素求和TILDE数组的TILDE函数TMAT符合指定方向顺序的变换矩阵TRANSPOSE求矩阵转置UNIQUE删除矩阵中的重复元素VAL返回数组中与指定值最接近的元素VALAT返回数组中与另一数组指定位置对应处的元素VALI返回数组中与指定数值最接近元样条插值AKIMA
本文标题:adams函数使用方法介绍
链接地址:https://www.777doc.com/doc-4795568 .html