我有一个关于 MATLAB 中的索引和循环的问题。我有一个长度为n的向量(下面代码中的命名数据)。我想在 for 循环内一次检查这个向量 4 个元素。我怎样才能做到这一点?我在下面的尝试不起作用,因为它会在循环结束时超过数组尺寸。
for k = 1:length(data)
index = k:k+3;
cur_data = data(index);
pre_q_data1 = cur_data(1);
pre_q_data2 = cur_data(2);
% Interweaving the data
q = [pre_q_data1; pre_q_data2];
qdata = q(:)';
pre_i_data1 = cur_data(3);
pre_i_data2 = cur_data(4);
i = [pre_i_data1; pre_i_data2];
idata = i(:)';
end
你不应该k
一路去length(data)
,如果你打算在索引最多k+3
。
我还冒昧地大大简化了您的代码,但请随意忽略它!
for k = 1:length(data)-3
% maximum k = length(data)-3, so maximum index = length(data)-3+3=length(data)
index = k:k+3;
cur_data = data(k:k+3);
% Interweaving the data
q = cur_data(1:2); % transpose at end of line here if need be
i = cur_data(3:4); % could just use data(k+2:k+3) and not use cur_data
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句