Fortran Coder
标题:
请问这段代码怎么变为阶跃波
[打印本页]
作者:
懒癌症患者
时间:
2018-11-21 21:55
标题:
请问这段代码怎么变为阶跃波
本帖最后由 懒癌症患者 于 2018-11-21 22:14 编辑
#Function INTEGER INT
#LOCAL INTEGER X
#LOCAL INTEGER Y
X=$in
Y=INT(X+0.5)
IF((Y.LE.$dim).AND.(Y.GE.0)) THEN
$out=Y
ELSEIF(Y.GT.$dim) THEN
$out=$dim
ELSEIF(Y.LT.0) THEN
$out=0
ENDIF
我输入正弦波,就是in,$dim是我设定的一个值。结果这段代码产生阶梯波,但我想要阶跃波,有个大神说我X值有问题,第一个信号结束的x值与第二个信号开始的x值不一致,不知道理解,X的值不是进行取整运算吗?怎么还有比较,有大神能详细解释吗?
作者:
li913
时间:
2018-11-22 10:03
阶跃波是不可能的,它需要同一个点有两个值,这违背数学上函数的定义,也不符合实际。为了近似实现阶跃波,横坐标的间隔取尽量小。
作者:
懒癌症患者
时间:
2018-11-22 10:44
li913 发表于 2018-11-22 10:03
阶跃波是不可能的,它需要同一个点有两个值,这违背数学上函数的定义,也不符合实际。为了近似实现阶跃波, ...
好的,谢谢
欢迎光临 Fortran Coder (http://bbs.fcode.cn/)
Powered by Discuz! X3.2