Clear Filters
Clear Filters

Replacing repeated elements in a matrix

1 view (last 30 days)
Suppose i have matrix A=[ 8 8 8 8 7 7 7 4 2 17 18 18]
If a number is repeated , then I want to replace the last repeated element by a number say 5. The final matrix wil be
B= [8 8 8 5 7 7 5 4 2 17 18 5].
PLs suggest a code to generate B matrix?
  2 Comments
Walter Roberson
Walter Roberson on 4 Sep 2021
Suppose that
A=[ 8 8 8 8 7 7 8 4 2 17 18 18]
then would you want [ 8 8 8 5 7 5 8 4 2 17 18 5] or would you want [ 8 8 8 8 7 5 5 4 2 17 18 18] ? In other words is it "last in each run of 2 or more" or is it "last out of the entire vector" ? Oh yes an what about [8 3 8] -- should that be left alone because there are no places with consecutive values that are the same, or should it become [8 3 5] ?
Danish Nasir
Danish Nasir on 4 Sep 2021
It is similar to the proportion question which you answered. In this case wherever a repetition ,then i have to proportionate.
Here 8 8 8 8 is a proportion for which sum be 25 . So i want last 8 to be replaced by 1 . So the digits will be 8 8 8 1. Next 7 7 7 to be converted to 7 7 5.
Now the tough part is that next three digits (4 2 17) will remain same as they are not repeating which means they are not required to be proportinate.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 4 Sep 2021
Edited: Matt J on 4 Sep 2021

More Answers (0)

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!