How to generate the first twenty powers of x?

后端 未结 4 780
感情败类
感情败类 2021-01-28 18:42

So, I\'ve got X, a 300-by-1 vector and I\'d like [1, X, X*X, X*X*X, ... , X*X*...*X], a 300-by-twenty matrix.

How should I do this?

X=[2;1]
[X,X.*X,X.*X         


        
4条回答
  •  梦如初夏
    2021-01-28 19:08

    Use bsxfun for a neat solution, or go for Luis Mendo's extravaganza to save some time ;)

    powers = 1:20;
    x = 1:20;
    
    result = bsxfun(@power,x(:),powers(:).');    
    

    gives:

     1    1    1 ...
     8   16   32 ...
    27   81  243 ...
    64  256 1024 ...
    ... ...  ...
    

提交回复
热议问题