MATLAB: Columnwise power operation in matrix

columncolumnwisematrixpower

Hi everyone (first post here)!
Say I have a vector x = [1;2;3].
I would like to construct a matrix X, where every column is the vector x raised to the power of the column number:
1 1 1
X = 2 4 8
3 9 27
With a for-loop, this is easily done:
for i=1:3
X(:,i) = x.^i;
end
But could this be done with vector operation instead of using a for loop?

Best Answer

bsxfun( @power, x, 1:3 )