MATLAB中For循环中数组的索引子集

亚伦

我有一个关于 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章