How to delete elements on specific indices?

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)

 채택된 답변

Debasish Samal
Debasish Samal 2019년 6월 7일

4 개 추천

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).

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Call Python from MATLAB에 대해 자세히 알아보기

제품

릴리스

R2017b

질문:

2019년 6월 7일

편집:

2019년 6월 7일

Community Treasure Hunt

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

Start Hunting!

Translated by