“如果”语句使用”或“操作符。

3863(30天)
莎拉
莎拉 2012年2月2日
评论道: 刘易斯Waswa2023年1月9日
大家好,
我有一个非常简单的问题....和I have been working on it for some time but cannot figure it out. This is essentially what I would LIKE to say:
r = 1:长度(FreqSec) 1
如果FreqSec (1 r + 1) > FreqSec (r) * 1.01”或“FreqSec (1, r + 1) < FreqSec (r) * 0.99
LagStart = [FreqSec (1 r) r];
打破;
结束
结束
FreqSec用很多很多的值是一个矢量....一般0.99和1.01的范围内,除了在一定区间内。我想检测的精确指标点值从0.99到1.01范围开始改变。
提前谢谢你的帮助:)
1评论
亚伦·埃尔德里奇
亚伦·埃尔德里奇 2016年4月28日
“| |”计数或matlab

登录置评。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2012年2月3日
如果FreqSec (1 r + 1) > FreqSec (r) * 1.01 | FreqSec (1, r + 1) < FreqSec (r) * 0.99
如果FreqSec (1 r + 1) > FreqSec (r) * 1.01 | | FreqSec (1, r + 1) < FreqSec (r) * 0.99
第一个是更普遍。第二,短路或不费心去评估第二个表达式,如果已经知道最终结果在第一次操作。操作员只能用表达式之间产生标量输出。
3评论
刘易斯Waswa
刘易斯Waswa 2023年1月9日
一个小问题,这是否意味着| evaluattes所有的条件吗?

登录置评。

更多的答案(2)

杰夫
杰夫 2012年2月3日
所以你想要最后指数在有效的范围内吗?
我不知道为什么你是乘以1.01和0.99。也许你所描述的问题不正确或你的困难的原因。我以为你要做的是:
idx =找到(FreqSec > = 0.99 & FreqSec < = 1.01, 1“最后一次”)
idx LagStart = [FreqSec (1) idx);
或者,因为它是对称的:
idx =找到(abs (FreqSec-1) < = 0.01, 1“最后一次”)
如果你想第一次超出范围的索引值,使用:
idx =找到(abs (FreqSec-1) > 0.01, 1“第一”)
参数“第一”是可选的,但好清晰。
- g -
1评论
杰夫
杰夫 2012年2月3日
哦,那些语句“最后”是不正确的。你可能更好做“第一次”的声明,再减去1。

登录置评。


拉赫曼Tabasum
拉赫曼Tabasum 2021年4月30日
我= 5
虽然我> = 1
暂停(1)
流(% d \ n ',我)
张我=
如果我= = 0
打破
结束
结束
这是我的代码开始按钮gui倒数计时器所以有人知道如何停止coutdown计时器runnnig时

类别

找到更多的在循环和条件语句帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!