Я хочу добавить данные в массив структур без полей добавленных структур, которые обязательно должны иметь тот же порядок как поля исходных структур. Например:Есть ли вариант структур Matlab, который не обеспечивает порядок полей?
% Works fine:
students.name = 'John';
students.age = 28;
student2.name = 'Steve';
student2.age = 23;
students(2) = student2;
% Error if the order of the fields of student2 is reversed
students.name = 'John';
students.age = 28;
student2.age = 23;
student2.name = 'Steve';
students(2) = student2; % Error: Dissimilar structs
Есть вариант структуры я могу добавить данные без необходимости держать тот же порядок полей?
РЕДАКТИРОВАТЬ: Один способ обхода заключается в том, чтобы всегда использовать поля «orderfields» matlabs, которые упорядочивают поля по алфавиту. То есть приведенный выше ошибочный пример станет следующим:
% Order fields alphabetically
students.name = 'John';
students.age = 28;
student2.age = 23;
student2.name = 'Steve';
students = orderfields(students);
student2 = orderfields(student2);
students(2) = student2; % Works
Я не уверен, является ли это наиболее естественным решением.
вероятно применение 'orderfields' для обеих структур исправляет это. – Daniel
Спасибо, я видел ваш комментарий слишком поздно! – jolo