在矩阵索引时使用逻辑值(Using Logicals in Array Indexing)

    今天写程序时,发现这样一个提示:

     该提示说,利用logical indexing来代替find函数能够提高性能,于是在文档中查询了关于logical indexing的内容。

 

     logical indexing其实是用一个同样大小的逻辑矩阵来索引数据矩阵,逻辑矩阵中为“True”的位置被认为是数据矩阵中要索引的位置。

 

     举个例子:

>> 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]); >> A(B) ans = 4 2 6 9  

 

     最后,为了提高性能,我把原来程序中的那两条语句改成了如下形式(原来是图片中使用find的形式):

index=abs(temp-(t(n)-k))<0.0001; temp(index)=[]; 

你可能感兴趣的:(文档)