Adding elements to array without repeating

Hello,
my question is the following: I have a struct file and I need to add all the elements in the vectors contained in the struct in a single vector without repeating them. My struct is shaped like this:
F.a=[226;227;228;229;290]
F.b=[52;102;230;231;232;233;234;235]
F.c=[37;233;234;235]
and so on. I need to put all the elements of the vectors together but avoiding, for example, to show 233, 234 and 235 twice. Is there a way to do that?
Thank you in advance for your answers!

 Réponse acceptée

Yongjian Feng
Yongjian Feng le 8 Juil 2021
This will work:
result = [F.a F.b F.c];
result = unique(result);

Plus de réponses (1)

Yongjian Feng
Yongjian Feng le 7 Juil 2021

0 votes

Use ismember(233, F.a) before adding it to F.a.

6 commentaires

Hello Yongjian Feng, thank you for your answer
I would like the code to do it automatically, the actual struct file is much bigger than the one I reported
Please provide more details. Do you want to merge F.a, F.b, and F.c into a new array, and then get rid of all the duplicated? If so
result = [F.a F.b F.c];
result = unique(result);
Yes, that is what I would like to do. Your idea is the right one, I put it in a loop to make it merge all the substructures of F and now it works. Thank you for your help!
Is there a way to accept your comment as an answer?
Yongjian Feng
Yongjian Feng le 8 Juil 2021
I can put it to an answer, then you can accept it. This will help the other users. Thanks.
You're welcome, thank you for your help!

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by