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”性能的内容