在Matlab进行一些故障排除时,我试图找到信号的峰值时遇到了code:
minValue = min(yourSignal);
yourSignal(yourSignal < threshold) = minValue;
我认为它的作用是将最小元素放在第一行的向量yourSignal
中。然后下一行我不确定发生了什么,但是似乎在向量yourSignal
中给threshold
分配了小于yourSignal
的任何元素。我不了解minValue
的分配是做什么的。
请向我解释这段代码的作用,或者在第二行告诉我该操作的名称,以便我可以找到其文档。
答案 0 :(得分:3)
这称为logical indexing。您可以将其分为2个操作
Idx = yourSignal < threshold;
这将创建一个逻辑数组(真或假),当信号数组小于阈值时为真。
yourSignal(Idx) = minValue;
在Idx
为真的任何地方,用minValue
替换该元素。