[英]Matlab Optimization, Alternatives for 'any' function
有什么办法可以优化以下代码。
上面的函数是一个嵌套函数,finalBin2Grey是一个单元格,其余都是简单的双精度和数组。
此外,MATLAB pro-filer显示所有其他行的功能为41.122 s。 但是没有这样的线/线占据那个时间。 这是调用函数的开销还是我错过了什么。
编辑:这是对该功能的高级概述:
检查该grayLevel
之间的谎言upperLimit
和lowerLimit
,如果是的话返回true。
另外, grayLevel
不能等于upperLimit
或lowerLimit
它是真实的。
Cell finalBin2grey
包含双精度或双精度数组,具体取决于索引。
我不会相信它的any
。 它可能是使用==
。 以下是一些可供尝试的选项(如果没有最小,完整,经过测试和读取的示例,几乎不可能提供具体的帮助)。
我不确定你是否需要第二个if
/ else
语句。 以下就足够了:
bool = any(grayLevel>lowerLimit) && any(grayLevel<upperLimit);
仅当任何grayLevel
严格在限制之间时才返回true
否则返回零。 您可能希望用>=
或<
with <=
替换>
以确保不会遗漏边缘上的点。
我怀疑你重新发明了HISTC或IMHIST。 整个例程可以通过使用其中一个来优化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.