本文共 248 字,大约阅读时间需要 1 分钟。
比如一个向量X=[1 2 5 0 4 0 2 0 0 8 0 1 0],想按照X的原来的顺序把非0的元素剔除掉,怎么办呢?当然你写程序来做也是个办法,我这里给出一个用矩阵运算来做的方法。
步骤如下:
1:计算X中非0元素的下标,放入在W中,下标从1开始。那么对应这个X的W就是W=[1 2 3 57 10 12]。
2:构建矩阵N,N的行数为X的列数,N的列数是W的列数。然后让N的全部元素都为0
3:让N(W(1,i), i)=1,i的取值范围是0到W的列数。
4:让X和N相乘,就得到结果了!
转载地址:http://dmini.baihongyu.com/