Предполагая, что у меня есть такой массив ячеек:
1x25 double 1x25 double 1x25 double 1x11 double 'Mean'
1000 0 0 5 0
1000 10 5 100 0
1000 20 5 200 0
1000 30 5 100 0
И теперь я хотел бы проверить, есть ли ЛЮБАЯ строка в этом массиве ячеек, где первый столбец - 1000
, второй столбец - 30
, третий столбец - 5
, а четвертый столбец - 100
- как это сделать? Первой строкой следует пренебречь, так как в ней есть только заголовки столбцов.
Я придумал довольно странный подход:
sum(sum([[data{2:end, 1}]'==1000 [data{2:end, 2}]'==30 [data{2:end, 3}]'==5 [data{2:end, 4}]'==100], 2)==4)
Принимая во внимание, что результат должен быть > 0
, чтобы было хотя бы одно вхождение data-tupel... Заранее спасибо
EDIT: я придумал:
found = ismember([1000 30 5 100], cell2mat(data(2:end, 1:4)), 'rows')
Я думаю, что это решение довольно хорошее, но если у вас есть еще лучший подход, просто опубликуйте его. Это не должно быть быстро, просто должно быть читабельным и простым.