让我们一步一步来。
第一步——构造条件
如果你这样做:
A > 0.5
您将在大于的元素位置上获得长度为A
with的向量,即:1
A
0.5
Columns 1 through 14
0 0 0 1 1 1 0 0 1 1 0 1 1 0
Column 15
1
如果你这样做:
t >= 2 & t < 5
你会得到与上面类似的向量(相同的长度),但这次1
在某个位置上将表示向量t
中的特定元素在区间[ 2, 5 >中。矢量看起来像这样:
Columns 1 through 14
0 0 0 0 0 0 0 1 1 1 1 1 1 1
Column 15
0
您可以通过要求满足两个条件来组合这两个向量:
(A > 0.5) & (t >= 2) & (t < 5)
你得到向量:
Columns 1 through 14
0 0 0 0 0 0 0 0 1 1 0 1 1 0
Column 15
0
请注意,一个在前两个向量中都有一个的位置上!
第二步——从向量中提取元素
如果你这样做:
A( logical([1 0 0 0 0 0 0 0 0 0 0 0 0 0 0]) )
你会注意到只有第一个元素是从 vector 中提取的A
,你会得到:
0.1000
您将提取前两个元素:
A( logical([1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]) )
等等。
如果您希望更改 vector 中某个元素的值A
,例如将第一个和最后一个元素设置为 value 3
,您可以使用以下方法:
A( logical([1 0 0 0 0 0 0 0 0 0 0 0 0 0 1]) ) = 3;
总结(或 TLDR)
从 中提取所需元素A
并为其分配值NaN
:
A( (A > 0.5) & (t >= 2) & (t < 5) ) = NaN;