Ell*_*Ell 2 matlab vector matrix vectorization
Geetings,这是一个小问题.
我有一个矢量v(size(v)= T),一个正数P,P <T nad正数N,N <T.并且想要制作大小为PxN的矩阵M,这样:
M = [v(T), v(T-1), ....., v(T-N+2), v(T-N+1);
v(T-1), v(T-2), ....., v(T-N+1), v(T-N) ;
v(T-2), v(T-3), ....., v(T-N), v(T-N-1);
. . . . . ;
. . . . . ;
v(T-P+1), v(T-P), ....., v(T-P-N+3), v(T-P-N+2)]
Run Code Online (Sandbox Code Playgroud)
它认为T> P + N.
让我们举个例子.
v = [1, 2, 3, 4, 5]';
P = 3;
N = 3;
M = [5, 4, 3;
4, 3, 2;
3, 2, 1]
Run Code Online (Sandbox Code Playgroud)
我知道如何使用for循环来做这个,但我也认为可以通过向量化来实现 - 这里的问题是 - 我在矢量化方面不是很熟练.
Thx提示等等:))
使用Hankel矩阵:
v = [1 2 3 4 5];
T = length(v);
P = 3;
N = 3;
out = hankel(v(T:-1:T-P+1),v(T-P+1:-1:T-P-N+2));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
214 次 |
| 最近记录: |