Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

comparing rows in cell array

5 vues (au cours des 30 derniers jours)
Jonathan
Jonathan le 27 Fév 2020
Clôturé : MATLAB Answer Bot le 20 Août 2021
Allcases = readtable('227.xlsx');
caseID = Allcases{:,1};
caseX = Allcases{:,2};
caseY = Allcases{:,3};
i = 1
f = {}
while i<5
g = {caseID(i), caseX(i), caseY(i)}
if *****************:
f = [f;g];
end
i = i+1;
end
Hi, I am trying to build a cell array of unique values. In this case, I am only trying to add the row g to f if it hasn't occured before in f. Could anyone please help me complete the missing code? I am very new to Matlab and have been spending hours to try and fix this problem.
  1 commentaire
Guillaume
Guillaume le 27 Fév 2020
Note that:
i = 1;
while i < 5
%... some code that doesn't change i
i = i+5;
end
is more simply written as:
for i = 1:5
%... some code that doesn't change i
end

Réponses (1)

Fangjun Jiang
Fangjun Jiang le 27 Fév 2020
unique(Allcases,'rows') might be easier.
  7 commentaires
Jonathan
Jonathan le 29 Fév 2020
Hi, thanks for the answer.
However, I have just tried this and it is telling me that the matrix dimensions must agree. I checked the dimensions and both are 1x5 cell arrays.
Jonathan
Jonathan le 29 Fév 2020
oh don't worry. Just figured it out - i was using strings, not numbers!
Thanks you so much for all your help. Now i've learnt how to index cell arrays.

Cette question est clôturée.

Community Treasure Hunt

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

Start Hunting!

Translated by