How to delete elements on specific indices?

452 views (last 30 days)
horizon
horizon on 7 Jun 2019
Edited: horizon on 7 Jun 2019
I was able to get the correct output which I wanted with the code written in Python.
However, I have no idea how to write it in MATLAB after the follwoing scripts.
MATLAB code
outliers = [1,3,7]; %outliers are indices numbers to delete
elm = [1, 2, 3, 4, 5, 6, 7, 8, 9];
%preferred output
[1, 3, 5, 6, 7, 9]
Python code
outliers = [1,3,7]
elm = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(len(outliers)-1, -1, -1):
elm.pop(outliers[i])
print(elm)

Accepted Answer

Debasish Samal
Debasish Samal on 7 Jun 2019
You can achieve this on matlab by using the following code.
outliers = [1,3,7];
elm = [1, 2, 3, 4, 5, 6, 7, 8, 9];
elm(outliers+1) = []; %indexing using outliers and setting them to NULL
Notice that in MATLAB indexing starts from 1 instead of 0. So you have to add 1 to the index matrix (outliers).

More Answers (0)

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!