Matlab хранить / изменять ссылки на переменные в матрице

Я пытаюсь написать функцию сохранения / загрузки для приложения с кучей свойств в Matlab. Сохранение работает нормально, но у меня возникают проблемы с загрузкой. У меня проблемы с этим:

loadlist=['app.starting_height','app.dragenabled','app.heading'...];
        n=1;
        for(n=1:length(loadlist))
            loadlist(1,n)=savelist(1,n);

То, что я хочу сделать, это вместо изменения значений в loadlist (loadlist(1,n), изменить свойства, на которые они ссылаются (app.startingheight и т. Д.). У меня есть идея попробовать использовать маркеры, но я не совсем конечно, как это будет работать. Любая помощь будет оценена.

Спасибо!

1 ответ

Решение

Вы можете генерировать имена полей из переменных, так что-то вроде этого:

loadlist=["app.starting_height","app.dragenabled","app.heading"...];

for elem = loadlist
  field_names = split(elem, '.');
  app.(fieldnames(2)) = ...

должно сработать.

Другие вопросы по тегам