是一种简单的方法,通过一定数量的滞后来延迟表中的所有变量,用NaN替代值。滞后表变量的函数
表变量不支持导致matlab的内置lagmatrix函数失败的长度函数。
环境是R2015a。
对于给定的阵列
a= magic(5);
a =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
lagmatrix(a,3)
ans =
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
17 24 1 8 15
23 5 7 14 16
试图在表上运行相同的命令,产生以下错误
a=array2table(magic(5))
a =
Var1 Var2 Var3 Var4 Var5
____ ____ ____ ____ ____
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
lagmatrix(a,3)
Error using table/length (line 395)
Undefined function 'length' for input arguments of type 'table'. Use the HEIGHT,
WIDTH, or SIZE functions instead.
Error in lagmatrix (line 52)
if numel(Y) == length(Y)
有一个简单的命令将执行一个表的上述行为在Matlab中变量?
发表一个小例子,输入和输出 –