“如果”声明使用“或”运算符。

4849次浏览(过去30天)
莎拉
莎拉 2012年2月2日
回答: rehman tabasum.2021年4月30日
大家好,
我有一个非常简单的问题....我一直在努力工作,但不能弄清楚。这基本上是我想说的:
为了r = 1:长度(freqsec)-1
如果FreqSec (1 r + 1) > FreqSec (r) * 1.01“或者”freqsec(1,R + 1)
lagstart = [freqsec(1,r)r];
休息;
结尾
结尾
Freqsec是一种带有批次和大量值的向量....通常在0.99和1.01的范围内,除了在一定的间隔内。我想检测到从0.99到1.01范围开始更改值的确切索引点。
我在这里先向您的帮助表示感谢 :)
1条评论
Aaron Eldridge.
Aaron Eldridge. 2016年4月28日
“||”在matlab中被算作一个或

登录评论。

接受答案

沃尔特罗伯森
沃尔特罗伯森 2012年2月3日
如果| (1,r+1) < (r)*0.99 . | (1,r+1) < (r)*0.99 . | (1,r+1) < (r)*0.99 . | (1,r+1) < (r)*0.99 . | (1,r+1) < (r)*0.99 . | (1,r+1
如果freqsec(1,r + 1)> freqsec(r)* 1.01 ||freqsec(1,R + 1)
其中的第一个更为一般。其中的第二个,是短路或不令于评估第二表达式,如果它已经知道第一次操作之后的最终结果。操作员只能在产生标量输出的表达式之间使用。
1条评论
哈利MacDowel
哈利MacDowel 2013年11月23日
对差异的良好澄清|和 !

登录评论。

更多答案(2)

杰夫
杰夫 2012年2月3日
你想要有效范围内的最后一个索引?
我不知道为什么你乘以1.01和0.99。也许你已经错误地描述了这个问题,或者是你困难的原因。我认为你想要做的就是这样:
idx = find(freqsec> = 0.99&freqsec <= 1.01,1,'最后的'
lagstart = [freqsec(1,Idx)Idx];
或者,因为它是对称的:
idx = find(abs(freqsec-1)<= 0.01,1,'最后的'
如果你想要第一个超出范围的值的索引,请使用:
Idx = find(abs(freqsec-1)> 0.01,1,'第一的'
参数'first'是可选的,但对于清晰起见很好。
-G-
1条评论
杰夫
杰夫 2012年2月3日
哎呀,那些与“最后”的陈述不正确。您可能更好地执行“第一”声明和减去1。

登录评论。


rehman tabasum.
rehman tabasum. 2021年4月30日
我= 5
虽然我> = - 1
暂停(1)
fprintf('%d \ n',i)
张我=
如果我== 0
休息
结尾
结尾
这是我为倒数计时器开始按钮GUI的代码,因此任何人都知道如何在runnnig时停止coutdown计时器

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!