【发布时间】:2013-10-24 08:17:05
【问题描述】:
你好,这是一个小问题。
我有一个向量 v (size(v) = T), 一个正数 P, P
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)]
它认为 T > P + N。
举个例子。
v = [1, 2, 3, 4, 5]';
P = 3;
N = 3;
M = [5, 4, 3;
4, 3, 2;
3, 2, 1]
我知道如何使用 for 循环来做到这一点,但我也认为可以通过矢量化来做到这一点 - 这里的问题是 - 我不太擅长矢量化。
感谢提示等:))
【问题讨论】:
-
请发布您的循环代码
-
在你的例子中你也会有
v(T-P-N)在右下角是v(5-3-3)这是v(-1)这是未定义的。请修正你的约束。我假设 P + N -
抱歉,我刚刚发布答案后就看到了错误。
-
还是错了。例如
P=4和N=4根据您的约束是有效的。但它们不会起作用。 -
假设哪个 T?有 T > P + N。
标签: matlab vector matrix vectorization