ind2vec和vec2ind函数

ind2vec和vec2ind比较简单,搞明白其中一个,反之另一个就明白了。

先说容易理解的vec2ind吧,从命令名字上可以看出是“向量变索引”,假设一个3*6的稀疏矩阵T(1,:)=[0 1 0 0 1 0];T(2,:)=[1 0 1 1 0 0];T(3,:)=[0 0 0 0 0 1],
通过vec2ind(T)将会得到什么?
因为通过矩阵知道T是6列的,
T =
0 1 0 0 1 0
1 0 1 1 0 0
0 0 0 0 0 1
vec2ind(T)得到的是1行6列的向量,该向量对应的元素分别是T中第1列到第6列中数字”1”对应的行号,因例子中的T矩阵,在第一列中第2行对应的是”1”,则vec2ind(T)的第一个元素是2,同理,T中第二列中“1”在第1行,则vec2ind(T)的第二个元素是”1”,依次类推,T中第3列至第6列中“1”对应行数分别是“2”,”2”,”1”,”3”。
因此,vec2ind(T)=[2 1 2 2 1 3];

ind2vec则反过来理解即可,如一个索引适量A=[1 3 2 2 2 1 2 1],求ind2vec?
从A可以看出A是1行8列的(如果实在不知道,就用size(A)查看),从A中元素最大值”3”可以看出,索引对应的向量是3行的,还不理解?那就用最基本的方法,因A中元素对应的是行号,设B=ind2vec(A),意味着B(1,1),B(3,2),B(2,3),B(2,4), B(2,5), B(1,6),B(2,7),B(1,8)对应的值是”1”,其余元素均为”0”

B=ind2vec(A)=
1 0 0 0 0 1 0 1
0 0 1 1 1 0 1 0
0 1 0 0 0 0 0 0

转载于:https://www.cnblogs.com/gongchuangsu/p/4850212.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值