Replacing repeated elements in a matrix

5 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2021-9-4
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 2021-9-4
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.

请先登录,再进行评论。

采纳的回答

Matt J
Matt J 2021-9-4
编辑:Matt J 2021-9-4

更多回答(0 个)

标签

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by