MATLAB矩阵索引 2



使用矩阵的逻辑索引
    在选出A矩阵中与B矩阵内非零值位置相同的元素,为一列向量。所以不是根据值来的,而是根据位置来的。B是一个矩阵由逻辑0和1组成。即B中为非零的位置,就是要选出的A元素位置。
A = [1 2 3; 4 5 6; 7 8 9]
A =
     1     2     3
     4     5     6
     7     8     9
B = logica
摘要由CSDN通过智能技术生成

使用矩阵的逻辑索引
    在选出A矩阵中与B矩阵内非零值位置相同的元素,为一列向量。所以不是根据值来的,而是根据位置来的。B是一个矩阵由逻辑0和1组成。即B中为非零的位置,就是要选出的A元素位置。

A = [1 2 3; 4 5 6; 7 8 9]
A =
     1     2     3
     4     5     6
     7     8     9
B = logical([0 1 0; 1 0 1; 0 0 1]);
B =
     0     1     0
     1     0     1
     0     0     1
A(B)
ans =
     4
     2
     6
     9

find函数返回B中非零元素的索引,
find(B)
ans =
     2
     4
     8
     9
所以也就是选出A中序号为2 4 8 9的元素,组成列向量。

例1


rand('twister', 5489);    
B = A > 0.5;
A(B) = 0
A =
         0     0.0975    0.1576    0.1419         0
         0     0.2785         0       0.4218    0.0357
    0.1270         0          0            0         0
         0            0    0.4854          0         0
         0            0         0             0         0


例2


A = magic(4)
A =
    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值