7

假设我有一些 number a,我想得到 vector [ 1 , a , a^2 , ... , a^N ]。我使用[ 1 , cumprod( a * ones( 1 , N - 1 ) ) ]代码。最好的(并且可能是有效的)方法是什么?

4

2 回答 2

13

怎么样a.^[0:N]

于 2011-06-10T13:41:47.367 回答
2

aThibThib 的答案是绝对正确的,但如果发生在向量上,它就不容易概括。所以作为一个起点:

> a= 2
a =  2
> n= 3
n =  3
> a.^[0: n]
ans =
   1   2   4   8

现在您还可以利用内置函数vander(虽然顺序不同,但如果需要,很容易修复),生成:

> vander(a, n+ 1)
ans =
   8   4   2   1

并带有向量值a

> a= [2; 3; 4];
> vander(a, n+ 1)
ans =
   8    4    2    1
  27    9    3    1
  64   16    4    1
于 2011-06-10T19:45:13.757 回答