How to delete duplicate values from an array or a vector

171 vues (au cours des 30 derniers jours)
sarah
sarah le 10 Fév 2021
Commenté : sarah le 10 Fév 2021
How to delete duplicate values from an array or a vector
Hi, how do I delete duplicate values from an array or a vector provided that unique function is not used and that the place of the value does not remain empty or zero. The result is like this
a=[1 2 3 6 1 3 1];
a=[1 2 3 6]
b=[1 1 3
3 4 5
4 9 1];
b=[1 3 4 5 9]
  5 commentaires
KALYAN ACHARJYA
KALYAN ACHARJYA le 10 Fév 2021
Modifié(e) : KALYAN ACHARJYA le 10 Fév 2021
@Matt J Exactly, so valid Question
:)
sarah
sarah le 10 Fév 2021
Modifié(e) : sarah le 10 Fév 2021
This function is useless by working on the idea I am working on, which is the process of generating numbers through static equations to create a random 16 * 16 matrix. Thank you.

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 10 Fév 2021
Modifié(e) : Jan le 10 Fév 2021
b=[1 1 3
3 4 5
4 9 1];
% The clean solution:
b = unique(b(:).')
% [1 3 4 5 9]
% Without unique:
bs = sort(b(:).');
result = bs([true, diff(bs) ~= 0])
% [1 3 4 5 9]
% For a stable output (order of elements does not change):
[bs, vec] = sort(b(:).');
uvec(vec) = [true, diff(bs) ~= 0];
result = b(uvec);
% [1 3 4 5 9]
  1 commentaire
sarah
sarah le 10 Fév 2021
Thank you very much, Mr. Jan, grateful to you very much

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by