从向量中提取值并保存在新向量中
Extract values from vector and save in new vector
我有一个向量 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 的结果是错误的。我还收到错误消息,说我的矩阵超出了它的维度。
有没有人知道如何更顺利地解决这个问题?
使用矢量索引!
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.
我有一个向量 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 的结果是错误的。我还收到错误消息,说我的矩阵超出了它的维度。
有没有人知道如何更顺利地解决这个问题?
使用矢量索引!
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.