Matlab 有没有更快的方法来计算带有“if”的条件;“任何或全部”;for循环中的函数?
例如,对于我的程序来说,计算空闲代码的时间是不高效的Matlab 有没有更快的方法来计算带有“if”的条件;“任何或全部”;for循环中的函数?,matlab,Matlab,例如,对于我的程序来说,计算空闲代码的时间是不高效的 b=[10,11,14,9]; a=[13,10,18,11]; tic for i=1:14166133 if any(a>b) end end toc Elapsed time is 20.655411 seconds. 有没有更快的方法可以做到这一点?你的问题不清楚 首先,你不应该每次都计算比较 b=[10,11,14,9]; a=[13,10,18,11]; tic c = a > b; for i=1:1
b=[10,11,14,9];
a=[13,10,18,11];
tic
for i=1:14166133
if any(a>b)
end
end
toc
Elapsed time is 20.655411 seconds.
有没有更快的方法可以做到这一点?你的问题不清楚 首先,你不应该每次都计算比较
b=[10,11,14,9];
a=[13,10,18,11];
tic
c = a > b;
for i=1:14166133
if any(c)
end
end
toc
这里的
i
有什么意义?请在if
语句中包含您正在使用的实际函数,以便我们(实际上@Divakar)可以对其进行矢量化。我非常怀疑您是否能够加快您所显示的代码的速度。但是,您打算在if
中放入的内容可能可以优化为不需要if
或者更好的是不需要循环。但要回答目前的问题,我高度怀疑是否有更快的方法。根据提供的信息,不可能给出有用的答案,我投票结束这个问题。你甚至可以将any
排除在循环之外……是的,但在标题中他提到了一些关于“any”性能的内容