在Matlab中将矢量转换为特定矩阵

时间:2014-10-29 23:42:01

标签: matlab matrix

对于值为y0yT的给定向量,我必须创建以下矩阵:

1  y(P-1)  y(P-2) ... y(0)
1  y(P)    y(P-1) ... y(1)
1  y(P+1)  y(P)   ... y(2)
.   .       .     ...  .
.   .       .     ...  .
.   .       .     ...  .
1  y(T-1)  y(T-2) ... y(T-p)

P表示y(P)是P先前y的线性组合。

给出P(例如100)。

这有matlab函数吗?

为给定y获取正确i,j的函数是

getAIJ = @(i, j) y(p+(-(i+1))+(j-1));

所以我只需要为除第一列之外的矩阵中的每个单元格应用此函数。有没有 matlab-way 这样做?我不确定如何在此使用arrayfun。

1 个答案:

答案 0 :(得分:0)

在信号处理工具箱中使用buffer。在这种情况下

yy = buffer(y, P, P-1)';