主要内容

避免重复搜索对象

当你搜索处理,MATLAB®必须搜索对象层次结构来查找匹配的处理,这是耗时。保存处理,您需要访问后是一种更快的方法。数组索引通常比使用findobjfindall

这段代码创建对象,然后调用500行findobj在一个循环中。

图ax =轴;第九= 1:50 0线(兰德(1、5),兰德(1、5),“标签”第九,num2str (),“父”、ax);结束drawnow;第九= 1:50 0 h = findobj (ax,“标签”num2str (ix));集(h,“颜色”,兰德(1、3));结束drawnow;

更好的方法是将数组中的处理和索引保存到数组中循环。

图ax =轴;h = gobject (1500);第九(ix) = = 1:50 0 h线(兰德(1、5),兰德(1、5),“标签”第九,num2str (),“父”、ax);结束drawnow;%索引处理数组第九= 1:50 0组(h (ix),“颜色”,兰德(1、3));结束drawnow

限制搜索的范围

如果寻找处理是必要的,限制搜索对象的数量通过指定一个起点在对象树。例如,指定的起点作为图或轴包含你搜索的对象。

另一种方式限制花费的时间寻找对象限制搜索的深度。例如,调用findobj“平”选择限制搜索的对象在一个特定的处理数组。

使用findobjfindall搜索处理功能。

有关更多信息,请参见找到对象