考虑以下示例
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()
将逐行查找某个指数
答案 0 :(得分:1)
是的,您可以使用node
执行此操作,我相信相关功能为bsxfun
和gt
。
这可能会加快计算速度,但对于大输入(大多数可以获得),内存可能会成为一个问题。
然而,对于中/小尺寸,您将获得的主要性能提升不太可能来自此。您每次找到结果时都会进行打印。
打印1件事情非常慢,请确保存储所有结果并在最后一次打印以获得适当的加速。