首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Matlab中加速计算大循环

在Matlab中加速计算大循环
EN

Stack Overflow用户
提问于 2014-10-18 23:25:21
回答 1查看 79关注 0票数 0

我正在尝试准备一个高清视频处理的查找表,我的代码很好,但它需要很长的计算时间,我在Matlab中是新手,我不知道是否有可能加速这个循环的处理。

代码语言:javascript
复制
while a<1024
   while b<1024
      while c<1024
         while d<1024
            while e<1024

               Result=xx; %by formula

               f1(result,e+1)=bitor(f1(result,e+1),16);
               f1(result,d+1)=bitor(f1(result,d+1),32);
               f1(result,c+1)=bitor(f1(result,c+1),64);
               f1(result,b+1)=bitor(f1(result,b+1),128);
               f1(result,a+1)=bitor(f1(result,a+1),256);

               e=e+1;
            end

            e=0;
            d=d+1;
         end

         d=0;
         e=0;
         c=c+1;
      end

      d=0;
      e=0;
      c=0;
      b=b+1;
   end

   d=0;
   e=0;
   c=0;
   b=0;
   a=a+1;
end
EN

回答 1

Stack Overflow用户

发布于 2014-10-19 04:06:46

您需要预先分配您的f1对象(f1 = zeros(size(Result,1),1024),或者如果它是一个函数,则预先分配它所引用的任何数据存储空间的总大小。

否则,遍历循环所需的时间将呈指数增长(因为它会在每个循环中复制已分配的数据)。

我建议你访问:Techniques for Improving Performance

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26441353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档