- Did you pre-allocate Aineq prior to the loop?
- Did you pre-allocate bineq prior to the loop?
Vectorizing interdependent nested 4-for loop
1 回表示 (過去 30 日間)
古いコメントを表示
How to speed up this piece of code? How to vectorise this code? Is no other way possible?
for i1=1:num_agents % for all i
for rows=1:num_tasks*num_parts-1 % for all m_i,n_i in E_i
for ell=1:gL-G(rows,rows+1,i1) % for all ell
for i2=1:num_agents
xtemp = clearer;
% half-sum 1st part
for s = ell:gL%-G(rows,rows+1,i1)
if mod(rows,num_tasks)~=0
xtemp(i1,ceil(rows/num_tasks),mod(rows,num_tasks),s) = 1;
elseif mod(rows,num_tasks)==0
xtemp(i1,ceil(rows/num_tasks),num_tasks,s) = 1;
end
end
% half-sum 2nd part
for s = 1:ell+G(rows,rows+1,i1)-1
if s <= gL
if mod(rows,num_tasks)~=0
xtemp(i2,ceil(rows/num_tasks),mod(rows,num_tasks)+1,s) = 1;
elseif mod(rows,num_tasks)==0
xtemp(i2,ceil(rows/num_tasks)+1,1,s) = 1;
end
end
end
xtemp = xtemp(:);
Aineq(counter,:) = xtemp';
bineq(counter) = 1;
counter = counter + 1;
end
end
end
end
0 件のコメント
回答 (1 件)
Rick Rosson
2015 年 1 月 12 日
2 件のコメント
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!