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

结局就是:真取其值,假不取值。


原文地址:https://www.cnblogs.com/yibeimingyue/p/9898963.html