所以我刚刚接触 MATLAB,这可能是一个非常愚蠢的疑问,但是在为信号处理生成基本信号时,我有这个:
t=(-1:0.01:1)';
冲量 =t==0;绘图(t,冲动)
(从:https://www.mathworks.com/help/signal/gs/impulse-step-and-ramp-functions.html)
所以我知道这将绘制一个单位脉冲,但我看不到 t==0 在那里做什么。在时间瞬间 = 0 时,它会上升到 1,正如预期的那样,但为什么呢?更具体地说,有人能解释一下“==”告诉 MATLAB 做什么吗?
太感谢了
答案1
在大多数编程语言中,您可以采用适合“if”语句的表达式并将其用于任何计算。
大多数情况下,当表达式为“TRUE”时,它会给出值“1”作为结果。
因此,当“t”的值为零(0)时,“t==0”的计算结果为“1”……在任何其他情况下结果都为零。
这使得编写没有“if”语句的代码成为可能,但其行为与使用一个或多个 if 语句的代码相同。
例如
$ python Python 2.7.12(默认,2018 年 11 月 12 日,14:36:49) linux2 上的 [GCC 5.4.0 20160609] 输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。 >>> 对于 x 在 xrange(0,20) 中的情况: ...打印(x!=10)*x, ... 0 1 2 3 4 5 6 7 8 9 0 11 12 13 14 15 16 17 18 19 >>> 对于 x 在 xrange(0,20) 中的情况: ...如果x!= 10: ...打印x, ... 别的: ...打印0, ... 0 1 2 3 4 5 6 7 8 9 0 11 12 13 14 15 16 17 18 19 >>> 退出() $