MATLAB: Cell array to meet conditions and cell indexing

cell arraycell indexingconcatenationconditionempty cellsfindmatching data

I apologise in advance for incase this is unclear.
I have an array, with X Y columns and another column that identifies the other X and Ys that have met a previous condition. For example A=[16×1 double 16×1 double 8; 12×1 double 12×1 double []; 15×1 double 15×1 double [13,15]….. up to 19 rows]. If the condition was not met there is no match and so the third column reads [], as given for A(2,:). If two sets of x and y coordinates have been matched, then these can be found in rows 13 and 15 for example of column 1, for A(3,:).
I want to therefore have an output of the original X and Y sets, the matching rows (I already have) and the matching X Y coordinates. I had had numerous errors since there are empty cells, which I do not want to delete. Also, the number of matches changes each time, so concatenating brings errors.
Thankyou.

Best Answer

I'm not really clear on the format of the output you want, but the following should give you an idea what to do:
C = {[1:10]', [21:30]', 8; [41:45]', [51:55]', [2 4]; [60:70]', [80:90]', []} %demo data
C(:, 4) = cellfun(@(x, y, row) [x(row), y(row)], C(:, 1), C(:, 2), C(:, 3), 'UniformOutput', false)
celldisp(C(:, 4))