Доступ к элементам вектора в структурном массиве MATLAB - PullRequest
1 голос
/ 04 февраля 2020

У меня есть структура, которая содержит два поля, одно из которых содержит векторы, например:

myStruct(1).f1 = val1;
myStruct(1).f2 = [elt1 elt2 elt3];

Я хочу найти индексы элементов myStruct, где elt1 == valA и elt2 == valB

1 Ответ

1 голос
/ 04 февраля 2020

Один из способов сделать это будет:

% Create a matrix whose rows are the f2 vectors in the struct array
A = cell2mat({myStruct.f2}.');

% Find which rows match your conditions
Matches = (A(:,1) == valA) & (A(:,2) == valB);

% (If required: convert logical vector to indices)
Indices = find(Matches);
...