Tengo una estructura con muchos campos que son vectores de diferentes longitudes. Me gustaría acceder a los campos dentro de un ciclo, en orden. Intenté getfield de la siguiente manera, pero a MATLAB no le gusta eso. ¿Cómo puedo hacer esto?¿Cómo accedo a los campos de la estructura de forma dinámica?
S = struct('A', [1 2], 'B',[3 4 5]);
SNames = fieldnames(S);
for loopIndex = 1:2
field = getfield(S, SNames(loopIndex));
%do stuff w/ field
end
??? Index exceeds matrix dimensions
Estoy usando estructuras en primer lugar porque una matriz tendría problemas con las diferentes longitudes de campo. ¿Hay una mejor alternativa a eso?
Dada su descripción de por qué está utilizando una estructura, estoy de acuerdo con Adam. Debería considerar usar una matriz de celdas. –