matlab的一个疑问?
把逻辑值放入一个已知矩阵,为啥结果是:真就取矩阵的值,假就不取值?
K>> aaaa=randi(10,10,2)
aaaa =
6 3
10 4
6 7
5 2
6 3
8 2
1 2
9 4
2 9
5 5
K>> aaaa==9
ans =
10×2 logical array
0 0
0 0
0 0
0 0
0 0
0 0
0 0
1 0
0 1
0 0
K>> aaaa(aaaa==9)
ans =
9
9
另一个例子:
x=randi(100,10,2);(注意x的数值是随机的,每次都不一样,但这不影响验证上述假设)
x =
70 45
32 65
96 71
4 76
44 28
39 68
77 66
80 17
19 12
49 50
y1=ones(5,1);
y2=zeros(5,1);
y=[y1;y2];
K>> y=(y==1)
y =
10×1 logical array
1
1
1
1
1
0
0
0
0
0
K>> x(y,:)
ans =
70 45
32 65
96 71
4 76
44 28
结局就是:真取其值,假不取值。