逐行查找条件

时间:2016-06-15 11:55:00

标签: matlab

考虑以下示例

disp('Tag1Number      Tag2number')
for i = 1:numel(T1starttime)
    indexPDfind = find(T1starttime(i)<T2starttime & T2endtime<T1endtime(i));
    if(~isempty(indexPDfind))
        fprintf(' %d              %d\n',i,indexPDfind.')
    end

end

T1starttime T2starttime T1endtime是时间戳向量的标签,我试图找到T1标签中的标签T2,最初我试图找到开始时间标签T2在T1的每个tag1内,上面的代码工作正常,但标签的数量可以非常高,我不想使用循环,是否有任何函数,如bsxfun()将逐行查找某个指数

1 个答案:

答案 0 :(得分:1)

是的,您可以使用node执行此操作,我相信相关功能为bsxfungt

这可能会加快计算速度,但对于大输入(大多数可以获得),内存可能会成为一个问题。

然而,对于中/小尺寸,您将获得的主要性能提升不太可能来自此。您每次找到结果时都会进行打印。

打印1件事情非常慢,请确保存储所有结果并在最后一次打印以获得适当的加速。