假设我有输入data = [1 2 3 4 5 6 7 8 9 10]和num = 4 。我想使用这些来生成以下内容:
i = [1 2 3 4 5 6; 2 3 4 5 6 7; 3 4 5 6 7 8; 4 5 6 7 8 9] o = [5 6 7 8 9 10] 这基于以下逻辑:
length of data = 10 num = 4 10 - 4 = 6 i = [first 6; second 6;... num times] o = [last 6]
在MATLAB中自动执行此操作的最佳方法是什么?
回答:
这是使用函数
HANKEL的一种选择:
>> data = 1:10; >> num = 4; >> i = hankel(data(1:num),data(num:end-1)) i = 1 2 3 4 5 6 2 3 4 5 6 7 3 4 5 6 7 8 4 5 6 7 8 9 >> o = i(end,:)+1 o = 5 6 7 8 9 10
更多&回答...