登录【网站注册】点击左边“微信账号登陆”图标,微信扫描即自动注册并登陆
搜索
查看: 2904|回复: 0

[转载文章] NX中step函数的两种表示方法

[复制链接]
发表于 2012-4-6 10:19:38 | 显示全部楼层 |阅读模式

首先简要介绍下step的形式及其各个参数的物理含义:
格式:STEP (x, x0, h0, x1, h1)
参数说明:
   x ―自变量,可以是时间或时间的任一函数4 q( C! {  ~3 w  K; V
   x0 ―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;
   x1 ―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量
   h0 ― STEP函数的初始值,可以是常数、设计变量或其它函数表达式
   h1 ― STEP函数的最终值,可以是常数、设计变量或其它函数表达式9 ^2 v/ z' D# u% B9 C/ W
而在实际的运用过程中,它有两种表示方法,一种是嵌入式:
STEP (x, x0, h0, x1,
(STEP (x, x1, h1, x2, 4 X  \& v: j. J
(STEP (x, x2, h2, x3, h2) ))))  (当然你可以嵌套更多的)
另一种就是增量式:) {7 O8 z7 X( u. W. G
STEP (x, x0, h0, x1, h1)+
STEP (x, x1, h2, x2, h3)+7 d8 q( F# w* Y  ~
STEP (x, x2, h4, x3, h5)+& u. R3 H* g7 a
……6 C2 {0 q& Q* r" V) y, D
我常用的是后者,下面就举例(附件请参考step.cmd文件)说明下他们的区别。其实他们都可以表示同一种你所需要的曲线,如下所示曲线:
用嵌入式可表示为:
step(time,0,0d,3,; B9 ~3 a9 r6 Z. `6 d2 _. [
(step(time,3,0d,5,
(step(time,5,5d,8,
(step(time,8,5d,10,
(step(time,10,0d,12,0d)))))))))9 S1 z$ ^: Y  Y4 ?
用增量式表示为:: }' c1 Q- n1 m! I, r
step(time,3,0,5,5)+
step(time,5,0,8,0)+( r- F0 b: a. |& A9 R5 O
step(time,8,0,10,-5)
在使用后者的过程中很多人会误表示为:
step(time,0,0d,3,0d)+
step(time,3,0d,5,5d)+
step(time,5,5d,8,5d)+3 K" R) _7 J" T: Z
step(time,8,5d,10,0d)+" r+ l* e7 e" }/ x7 E9 z4 G. ^4 {
step(time,10,0d,12,0d) 4 u1 R% t0 E5 K1 X$ }2 [
还有一种是错误的:
step(time,3,0d,5,5d)+8 t7 ]- c, F3 f8 G& c" U
step(time,8,5d,10,0d)
这两种都是错误的表示的方法,不信你自己可以试试的

总结:从上面的例子中大家可以清楚的看出,增量式明显比嵌入式要简洁的多,但是嵌入式却比增量式思路要清晰、严谨的多,他们各有自己的优点,所以大家可以针对性的使用他们,习惯用什么方式就用什么方式,当然还有其他的不同点还没想到的,也欢迎多多提出意见。
优胜专注教学 技术实力最强 www.ysug.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


快速回复 返回顶部 返回列表