从向量中提取值并保存在新向量中

时间:2015-10-28 20:57:38

标签: matlab vector extract

我有一个向量 Cycle(),它可以包含几个可变大小的元素。

我想从这个向量中提取奇数列中的所有值,即 Cycle(1),Cycle(3),Cycle(5) ...并将它们保存到新矢量Rcycle。

那是我的代码:

Rcycle = zeros(1, length(cycle)/2);
Rcycle(1) = cycle(1);
for j=3:length(cycle);
    for i=2:length(Rcycle);
        Rcycle(i) = cycle(j);
        j = j+2;
    end
end

此外,我想从 Cycle()中提取偶数列,并将它们保存在矢量Lcycle中。我的代码:

Lcycle = zeros(1, length(cycle)/2);
Lcycle(1) = cycle(2);
for k=4:length(cycle);
    for i=2:length(cycle);
        Lcycle(i) = cycle(k);
        k = k+2;
    end
end

通过运行这个带有12个元素的样本Cycle(),我得到了Lcycle的正确结果,但对于Rcycle来说是错误的结果。我也得到了我的矩阵超出其维度的错误。

有谁知道如何以更顺畅的方式解决这个问题?

1 个答案:

答案 0 :(得分:1)

使用矢量索引!

Rcyle=cycle(1:2:end); %// Take from cycle starting from 1, each 2, until the end
Lcycle=cycle(2:2:end);%// same, but start at 2.