Info

この質問は閉じられています。 編集または回答するには再度開いてください。

comparing rows in cell array

1 回表示 (過去 30 日間)
Jonathan
Jonathan 2020 年 2 月 27 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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 件のコメント
Guillaume
Guillaume 2020 年 2 月 27 日
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

回答 (1 件)

Fangjun Jiang
Fangjun Jiang 2020 年 2 月 27 日
unique(Allcases,'rows') might be easier.
  7 件のコメント
Jonathan
Jonathan 2020 年 2 月 29 日
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 2020 年 2 月 29 日
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.

この質問は閉じられています。

Community Treasure Hunt

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

Start Hunting!

Translated by