Columnwise power operation in matrix

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?

 Accepted Answer

bsxfun( @power, x, 1:3 )

2 Comments

Wow, thank's very much, I appreciate it!
But don't use this for fitting polynomials! Use POLYFIT instead.

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!