如何使这个Matlab代码运行得更快?

时间:2013-09-11 10:23:42

标签: matlab optimization

我正在使用Matlab编写下面的代码。当您使参数变大时,完成运行需要花费太多时间。然后我想优化代码以使其运行更快。我还没有参加任何算法优化课程。但是我已经改变了它的一些部分。代码现在更快,但还不够。

你有想法的人让它更快吗?预分配,之前的初始化,无论是什么..

rand('state', sum(100*clock));
runs=10000;
bw=20000; ttimeout=303/bw; ts=20/bw;
sift_times=[];sift_tcolls=[];sift_tcws=[];

range_n=5;
for n = range_n
  sift_collisions=[]; 
  uniform_collisions=[]; 
  for w=3:63
      uniform_collision=0;
      sift_collision=0;      
      for i=1:runs
            %Sift Dist:
            chosen_slots = sift_assign_slots(w,n);
            [slots,nodes] = sort(chosen_slots);
            if (slots(1)==slots(2))
                sift_collision = sift_collision + 1;
            end
            %Uniform Dist:
            chosen_slots = ceil(w*rand(n,1));
            [slots,nodes] = sort(chosen_slots);
            if (slots(1)==slots(2))
                uniform_collision = uniform_collision + 1;
            end
        end
        sift_collisions (w-2) = sift_collision  ;
        uniform_collisions(w-2) = uniform_collision  ;
  end
end

0 个答案:

没有答案