Removing a specific number from vector
조회 수: 200 (최근 30일)
이전 댓글 표시
Hi Everyone,
Suppose I have the following
A = 4
and
Z = [1 9 2 3 4 5]
how do I remove the value A from Z, to get
Z = [1 9 2 3 5]
Regards,
Ulrik.
댓글 수: 0
답변 (4개)
Walter Roberson
2011년 6월 17일
Z(Z==A) = [];
Warning: if you have floating point numbers instead of integers, you will usually need to compare with a tolerance instead of ==
댓글 수: 0
Tiasa Ghosh
2018년 7월 25일
You can also use setdiff function.
a=4;
z=[1 9 2 3 4 5];
setdiff(z,a)
댓글 수: 2
Gospel Oh
2018년 11월 15일
If the function were to be put into MatLab, the answer actually comes out to be an ordered version, missig the a:
ans = 1 2 3 5 9
close, but not quite
Paul Smits
2019년 4월 26일
You may pass 'stable' as additional input to setdiff, to prevent sorting:
a=4;
z=[1 9 2 3 4 5];
setdiff(z,a,'stable')
Richard Barrett-Jolley
2018년 7월 13일
Yes, that would work, but I would recommend simply:
Z=Z(Z~=A);
댓글 수: 4
huda nawaf
2022년 8월 7일
HI
Im facing the same problem, but the size of A is more than one.
so Z=Z(Z~=A); does not work. Is there an alternative?
Thanks
참고 항목
카테고리
Help Center 및 File Exchange에서 Whos에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!