How to delete multiple portions (not consecutive) inside a vector? For example:

1 次查看(过去 30 天)
Here is the problem, please help me solve it without using for loops. Many Thanks!
Given vector V, indice vector I(mx2). How to delete chains of values inside V such that each chain starts at I(i,1) and ends at I(i,2), with i = 1~m? For example:
If
V = [2 1 48 8 4 8 14 6 8]
I = [1 3; 5 7; 9 9]
Then
V([1 2 3 5 6 7 9]) = []
> V = [8 6]

回答(1 个)

Birdman
Birdman 2018-1-17
You may convert I into a column vector and do the following:
V(I(:))=[]

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by