function runme() % Putting inside function really important. Compare to without. N=1e4; X=rand(N); y=rand(1,N); for i=1:4 tic;Z1=X+diag(y);toc end disp('-----') for i=1:4 tic;Z2=plus_diag(X,y);toc end isequal(Z1,Z2)