MATLAB: When given a matrix with x columns, how do you multiply the first column by 1, the second column by 2, etc

columnmatrixscalar

For example, if the matrix has 4 columns. I want to multiply the first column by 1, the second column by 2, the third column by 3 and the fourth column by 4. How can I create a function for this?

Best Answer

Use bsxfun(). For example,
A = rand(3,4);
B = bsxfun(@times,A,1:4)
More generally,
B = bsxfun(@times,A,1:size(A,2))