Separate out every fourth element of a Vector
16 次查看(过去 30 天)
显示 更早的评论
I have a 400x1 vector, I essentially need to take the first 3 elements from the vector and put them in a new vector, skip the fourth element, then take elements 5, 6, 7 and skip the eighth, and so on on, until I have a 300x1 vector.
This is slightly more complicated than it sounds, because obviously once you take away an element everything else is going to shift up, so you have to make it clear that this is not the intention.
0 个评论
采纳的回答
James Tursa
2019-9-13
编辑:James Tursa
2019-9-13
V = your vector
result = V;
result(4:4:end) = []; % remove every 4th element
The above syntax with [] on the rhs is special notation for removing the indexed elements on the lhs.
0 个评论
更多回答(1 个)
Steven Lord
2019-9-13
If by " so you have to make it clear that this is not the intention." you mean you don't want to delete every fourth element but to replace them with some placeholder, use missing or NaN (if your data is double or single precision.)
A = 1:20;
B = A;
B(4:4:end) = missing
C = A;
C(4:4:end) = NaN
If you want to eliminate every fourth element entirely, use James Tursa's solution.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!