adams中函数用法
- 格式:doc
- 大小:26.50 KB
- 文档页数:1
step函数的两种表示方法相信大家对s tep的用法已经是相当的熟练了,在这里我只是想把自己对step的理解总结一下,希望能对大家有所帮助。
首先简要介绍下step的形式及其各个参数的物理含义:格式:STEP (x, x0, h0, x1, h1)参数说明:x ―自变量,可以是时间或时间的任一函数x0 ―自变量的ST EP函数开始值,可以是常数或函数表达式或设计变量;x1 ―自变量的ST EP函数结束值,可以是常数、函数表达式或设计变量h0 ― STEP函数的初始值,可以是常数、设计变量或其它函数表达式h1 ― 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)+……我常用的是后者,下面就举例(附件请参考s tep.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)这两种都是错误的表示的方法,不信你自己可以试试的总结:从上面的例子中大家可以清楚的看出,增量式明显比嵌入式要简洁的多,但是嵌入式却比增量式思路要清晰、严谨的多,他们各有自己的优点,所以大家可以针对性的使用他们,习惯用什么方式就用什么方式,当然他们还有其他的不同点我还没想到的,也欢迎你多多提出意见。
Adams2019进阶学习——函数的使⽤重点介绍 IF、 STEP、 SPLINE和CONTACT函数的使⽤⼀、基本函数的定义 在动⼒学仿真中,⼒、位移等容易出现函数表达的情形,这种情况下函数的使⽤就必不可少。
函数分两类: 设计过程函数。
主要是在建⽴模型中使⽤,仿真计算过程中其值不可变。
运⾏过程函数。
在仿真计算的过程中,参与计算,随着时间的变化,可以发⽣变化的变量。
注意:有的函数既是设计过程函数,也是运⾏过程函数。
1.过渡函数(STEP)定义 在MSC.ADAMS中,STEP函数近似为⼀个理想的数学上的过渡函数(没有不连续). 避免使⽤不连续的函数,因为不连续的函数容易导致解算过程收敛困难。
STEP函数⽤来描述如驱动或载荷,上升或下降,打开或关闭。
注意:STEP函数常⽤于描述-⼀个值或-⼀个表达式需要从⼀个常数变为另-⼀个常数的情形。
STEP函数的语法规则 STEP (q, q,,f{, 92,f2)其中: q - Independent variable q1 - Initial value for q f - Initial value for f q2 - Final value for q f2 - Final value for f注意:q1< q22. MSC ADAMS中的冲击(IMPACT)函数 ◆⽤于⽤户定义的⼒函数,模拟接触、冲击、碰撞等现象。
◆⾮线性的弹簧和阻尼⼒,由两个部件之间的距离所决定的是否存在的。
◆就像⼀个单纯的压缩弹簧阻尼器,在MSC.ADAMS中,当两个部件之间的参考距离q⼩于⽤户指定的参考距离qo时,该函数起作⽤。
FIMPACT = Off,ifq> qo FIMPACT = On,ifq≤qo IMPACT函数的语法规则. IMPACT(q, q, qo,k, e, Cmaax'd) q-两个对象之间实际的距离(通常使⽤⼀⼀个位移函数定义) q-变量q的时间导数 q1o-触发距离,确定冲击⼒是否起作⽤,该参数应为⼀个实常数。
ADAMS/View函数及ADAMS/Solver函数的类型及建立ADAMS/View函数包括设计函数Design-Time Functions与运行函数Run-Time Functions两种类型,函数的建立对应有表达式模式和运行模式两种。
表达式模式下在设计过程中对设计函数求值,而运行模式下会在仿真过程中对运行函数进行计算更新。
ADAMS/Solver函数支持ADAMS/View运行模式下的函数,在仿真过程中采用ADAMS/Solver 解算时对这些函数进行计算更新。
建立表达式模式下的函数在进行建立表达式、产生和修改需要计算的测量及建立设计函数等操作时,会采用表达式模式。
在建立表达式时,首先在接受表达式的文本框处右击,然后选择“Parameterize”再选择“Expression Euilder”,进入建立设计函数表达式对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在产生和修改需要计算的测量时,首先在“Build”菜单中选择“Measure”,然后指向“Computed”,再选择“New”或“Modified”确定是新建还是修改,进入产生和修改需要计算的测量对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在建立设计函数时,首先在“Build”菜单中选择“Function”,然后选择“New”或“Modified”确定是新建还是修改,进入产生和修改设计函数对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
建立运行模式下的函数在进行建立运行函数、产生和修改函数型的测量等操作时,会采用运行模式。
在建立运行函数时,首先在接受表达式的文本框处右击,然后选择“Function Euilder”,进入建立运行函数表达式对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在产生和修改函数型的测量时,首先在“Build”菜单中选择“Measure”,然后指向“Function”,再选择“New”或“Modified”确定是新建还是修改,进入产生和修改函数型的度量对话框。
本章主要内容:为Plant Export建立模型的步骤ADAMS变量的类型建立输入状态变量建立输出状态变量建立被控对象的输入与输出在被控对象的输入或输出中状态变量的顺序为Plant Export指定被控对象的输入输出练习二:建立状态变量为了输出被控对象的模型,必须定义被控对象的输入输出。
按照下面的步骤去做:1.建立状态变量,而这些状态变量就是被控对象的输入输出。
2.建立Plant Inputs和Plant Outputs,它们中都包含了第一步建立的状态变量。
3.在ADAMS/Controls下的Plant Export对话框中输入专门的Plant Inputs和Plant Outputs,就可以输出被控对象文件。
都包含一系列的状态变量输入变量建立状态变量以控制输入。
·设置 function=0(通常)·如果要进行初始静态仿真,则要设置初始值使用VARVAL函数将定义被控对象输入的状态变量赋值给模型中的激励者(例如:力)。
建立正确的运行时间表达式,向CSS提供一个输出。
例如:方位角,仰角在ADAMS模型中创建Plant Inputs 和Plant Outputs,为ADAMS被控对象提供输入和输出。
为ADAMS被控对象指定一个Plant Inputs 和一个Plant Outputs,他们可以包含多个变量。
都包含一系列的状态变量在Plant Input/Output基本要素中状态变量的顺序非常重要,因为它决定了在CSS中必须定义的变量顺序。
只要创建了Plant Inputs和Plant Outputs,就把它们引入Plant Export对话框中。
使用plant inputs 和outputs代替状态变量,允许用户更直接的编辑被控对象的输入及输出(例如:对于数量众多的状态变量,使用Plant Input/Output就能编辑,而用不着在Plant Export对话框中一个一个的输入)。
adams幂函数表达
(原创版)
目录
1.介绍 Adams 幂函数
2.Adams 幂函数的表达式
3.Adams 幂函数的性质和应用
正文
Adams 幂函数是一种以数学家 Adams 命名的函数,它是幂函数的一种。
幂函数是指形如 y=x^n 的函数,其中 n 是实数,而 Adams 幂函数则是幂函数的一种广义形式。
Adams 幂函数的表达式为 y=x^(1/n),其中 x 是自变量,n 是正实数。
这个函数的图像在 x=0 处无定义,而在 x>0 时是增函数,x<0 时是减函数。
Adams 幂函数在 x=1 处取得最大值,即 y=1,而在 x=-1 处取得最小值,即 y=-1。
Adams 幂函数具有很多重要的性质。
例如,它是偶函数,即满足
y(x)=y(-x) 的函数。
这意味着它的图像关于 y 轴对称。
此外,Adams 幂函数的导数是 y"=n*x^(1/n-1),这个导数在 x=0 处无定义,但在 x>0 时是增函数,x<0 时是减函数。
Adams 幂函数在很多领域都有应用。
例如,在计算机科学中,它常用于插值和逼近问题。
在物理学中,它也常用于描述物体的运动。
在经济学中,它则可以用于描述价格和需求的关系。
第1页共1页。
ADAMS/View函数及ADAMS/Solver函数的类型及建立ADAMS/View函数包括设计函数Design-Time Functions与运行函数Run-Time Functions两种类型,函数的建立对应有表达式模式和运行模式两种。
表达式模式下在设计过程中对设计函数求值,而运行模式下会在仿真过程中对运行函数进行计算更新。
ADAMS/Solver函数支持ADAMS/View运行模式下的函数,在仿真过程中采用ADAMS/Solver解算时对这些函数进行计算更新。
建立表达式模式下的函数在进行建立表达式、产生和修改需要计算的测量及建立设计函数等操作时,会采用表达式模式。
在建立表达式时,首先在接受表达式的文本框处右击,然后选择“Parameterize”再选择“Expression Euilder”,进入建立设计函数表达式对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在产生和修改需要计算的测量时,首先在“Build”菜单中选择“Measure”,然后指向“Computed”,再选择“New”或“Modified”确定是新建还是修改,进入产生和修改需要计算的测量对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在建立设计函数时,首先在“Build”菜单中选择“Function”,然后选择“New”或“Modified”确定是新建还是修改,进入产生和修改设计函数对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
建立运行模式下的函数在进行建立运行函数、产生和修改函数型的测量等操作时,会采用运行模式。
在建立运行函数时,首先在接受表达式的文本框处右击,然后选择“Function Euilder”,进入建立运行函数表达式对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在产生和修改函数型的测量时,首先在“Build”菜单中选择“Measure”,然后指向“Function”,再选择“New”或“Modified”确定是新建还是修改,进入产生和修改函数型的度量对话框。
Adams常用函数
step可能是最常用的:
step(time,0,0,1,50)+
step(time,4,0,6,-100)+
step(tme,9,0,10,50)
函数原形STEP(A,x1,h1,x2,h2)
解释:由数组A的x值,生成区间(x1,h1)至(x2,h2)之间的阶梯曲线,返回y值的数据。
举个常用的例子。
比如STEP(time,1,0,2,100)
time在adams中是个递增的变量,相当于一个数组。
那么step的返回值就是随着time变化的值。
这个例子将表示在time从(1,2)的过程中,返回值将从0,100。
看看例子,两个小球,一个使用step 函数设置了位移,另外一个是参考。
当然,这个变化过程,adams使用了缓和的图形,从其位移图中可以看出来。
step既然是个返回值,就可以使用加减法了。
如上例,如果设置下面的小球的位移如下:STEP(time,1,0,2,100)+step(time,2,0,3,400)+step(time,3,0,4,-200)
1.以前用过碰撞函数,有单向和双向函数的区分,其中系统的球面等碰撞为其特例!
IMPACT (Displacement Variable, Veloci t y Variable, Trigger for
Displacement Variable, Stiffness Coefficient, Stiffness Force Exponent,
Damping Coefficient, Damping Ramp-up Distance)
BISTOP (Displacement Variable, Velocity Variable, Low Trigger for
Displacement Variable, High Trigger for Displacement Variable, Stiffness
Coefficient, Stiffness Force Exponent, Damping Coefficient, Damping
Ramp-up Distance)
2.if函数
这个函数最好不要使用,他的使用会带来突变,会使运算的时候不收敛。
不过应急的时候还是可以一用。
if(time-1:1,0,if(time-2:0,-1,-1))
IF(Expression1: Expression2, Expression3, Expression4)
adams要计算Expression1的值:
如果他的值小于0,则执行Expression2语句,如果Expression1的值等于0,则执行Expression3语句,如果Expression1的值大于0,则执行Expression4语句
我得if语句的意思是:如果时间小于1的时候,加速度为1,如果时间为1,加速度为0,如果时间大于1小于2,则加速度为0,如果时间大于、等于2则,加速度为-1
4. 我得一个想法
就是利用sign函数构造
比较常用的是给机构加上一个与运动方向相反的作用力等等可以先测量施加力对象的运动速度,然后利用速度的变化,插入measure到sign函数里面就可以获得与运动方向相反的作用力。