# How to avoid adding same elements

1 view (last 30 days)
MIch on 21 Sep 2022
Edited: Dyuman Joshi on 21 Sep 2022
Hello,
I have one question.
I need to sum elements of an matrix 1x7, but I need to exclude same elements.
For example
a=[5 4 3 2 1 1 6]
I would like to get b=5+4+3+2+1+6, not 5+4+3+2+1+1+6.

Dyuman Joshi on 21 Sep 2022
Edited: Dyuman Joshi on 21 Sep 2022
You can use unique to get the elements without repetition (subject to sum being less than 9007199254740992, as mentioned below)
%random data
a=[5 4 5 3 2 6 1 6 1 6];
b=unique(a,'stable')
b = 1×6
5 4 3 2 6 1
%using 'stable' to give an idea about the order
%you can use unique without 'stable' option as well
s=sum(b)
s = 21
Edit - In case you are dealing with fractional number, as @Walter Roberson commented,
sum(unique(a)) and sum(unique(a,'stable')) won't give the same answer.
MIch on 21 Sep 2022
Thank you very much for your help.

### Categories

Find more on Logical in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by