bsxfun - Matlab optimisation query, avoiding that repmat - this simple question, can't see improve reply , maybe else can! here code: example variables nsim = 3000; nrow = 10000; info = zeros(1, 5, nrow); info (:, 1:4, :) = rand(4, nrow)*0.5; % 4 columns of duration values info (:, 5, :) = 1000; % 1 column of actual value basis.increaserate = 1 + (rand(nsim, 4)*0.1); example calculation datawithsim = repmat(data(:, 1:4,:),nsim, 1, 1); increasefactors = bsxfun(@power, basis.increaserate, datawithsim); values = bsxfun(@times, data(:,5,:), prod(increasefactors,2)); the need repmat feels wrong, can't see way avoid it. effectively i'm doing increase^data , didn't want have loop through 2 dimensions ( sims or data rows). dummy info can ordered way choose, values output needs nsim nrow matrix. any ideas welcome. thanks. you don't need utilize repmat . can straight feed "submatrix" data - increasefactor...