vandermonde矩阵matlab混淆

时间:2012-11-19 11:05:10

标签: matlab interpolation

我正在尝试使用matlab构建vandermonde matrix

我的输入向量是

t = [ 1 2 3 4 ]'

我使用vander function的输出是:

ans =

 1     1     1     1
 8     4     2     1
27     9     3     1
64    16     4     1

现在,如果我没弄错,那么有问题的载体的范德蒙矩阵应该是:

1 1 1 1
1 2 4 8
1 3 9 27
1 4 16 64

现在我意识到我可以通过以下方式实现我想要的结果:

>> fliplr(vander(t))

 ans =

 1     1     1     1
 1     2     4     8
 1     3     9    27
 1     4    16    64

感谢。

2 个答案:

答案 0 :(得分:11)

维基百科和Mathworld同意你的看法。但是,MATLAB documentation说:

  

A = vander(v)返回其列为幂的Vandermonde矩阵   向量v,即A(i,j)= v(i)^(n-j),其中n =长度(v)。

我不知道为什么Mathworks会这样做。您可以使用fliplr来获得所需的结果。

答案 1 :(得分:-1)

只需翻转矩阵(左/右)即可获得所需的矩阵。