gpt4 book ai didi

matlab - 通过重复重叠向量创建矩阵

转载 作者:太空宇宙 更新时间:2023-11-03 19:50:05 24 4
gpt4 key购买 nike

我很难在 MATLAB 中编写以下代码:假设您有以下向量:

a   
b
c
d
e
f
g
h
...

指定一个(偶数)窗口大小,创建以下维度矩阵 Ln 列(例如,L = 4) :

a c e ...
b d f ...
c e g ...
d f h ...

更困难的是采用任意长度的向量,指定窗口的数量,并优化(最大化)窗口大小,从而减少向量末尾的值被转储。

最佳答案

在您的向量中创建索引矩阵。对于 L=4(我假设您重叠 L/2),索引为 [1,2,3,4;3,4,5,6;5,6,7,8] 等。让 x = 1 :L, y = L/2, 索引向量为x+0y,x+1y,x+2y等。

% let your initial data be in vector "data"
L = 4
N = floor(length(data)/(L/2))-1 % number of windows, or you specify this
mi = repmat(1:L,[N,1]) + repmat((L/2) * (0:(N-1))',[1,L]) % x + y * 0,1,2...
out = data(mi) % out is N-by-L, transpose to L-by-N if you like

关于matlab - 通过重复重叠向量创建矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12966512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com