Finding Unique values for First Row of a Matrix

13 visualizzazioni (ultimi 30 giorni)
I have a matrix which I intend to use, such that, I have to keep the uniqe elements of the first row in a specific manner, Following is to describe the process in a bit detail:
We scan the first row and keep it as such if all the elements are unique. Otherwise for a repeating value we select the next value which is uique. For example for the following matrix A:
The output should be Output = [5 6 7 9 11], where first element A(1,1) is kept as such, since the the next element in the first row i.e. A(1,2) = A(1,1), we choose next unique element in this column i.e. A(2,2) , And So on to scan the entire first row without repetition. This way to achieve the desired output for generalized matrix ... Any input will be appreciated .
  4 Commenti

Accedi per commentare.

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 24 Dic 2019
Let A - your array.
output = A(1,:);
for i = 2:numel(output)
u = unique([output(1:i-1)';A(:,i)]);
output(i) = u(i);
  1 Commento
MShia il 24 Dic 2019
Modificato: MShia il 24 Dic 2019
Thanks Sir very elegant solution! The only modification I had to do, was to use the unique command with "stable" option to maintain the sequence. I really appreciate it .

Accedi per commentare.

Più risposte (0)


Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by