Быстрый доступ к элементу в массиве struct на основе нескольких критериев

Я задал этот вопрос в прошлый раз. Ответы там были очень полезны. Я хочу предложить небольшой вариант. Мне нужно получить доступ к этому элементу struct массив, который имеет a(i).x==5.65 && a(i).y==32.23?

Снова я могу управлять старым добрым for цикл и найти индекс необходимого элемента, но я должен сделать такие запросы несколько раз. Какая самая быстрая структура данных для этого? Какой метод я должен использовать для поиска через struct массив для поиска нужного элемента?

1 ответ

Решение

Вы можете использовать точечное индексирование, чтобы получить список через запятую, а затем преобразовать его в массив. Затем вы можете выполнить логические операции с результирующим массивом, чтобы получить logical массив, который вы можете использовать для индексации в вашем struct массив

b = a([a.x] == 5 & [a.y] == 32)
Другие вопросы по тегам