MATLAB: Better syntax than for loop

for loop

I've been told that I should avoid "for" loops in MatLab because they are generally less efficient. True? Is there a better way to write this?
for y=1:33
VKT_SC(y,:)=SC_Share(y,:).*Total_F_VKT(y)
end

Best Answer

  • VKT_SC=bsxfun(@times,SC_Share,Total_F_VKT)
    or depending on the size of Total_F_VKT
    VKT_SC=bsxfun(@times,SC_Share,Total_F_VKT')