Matlab store/modify 引用矩阵中的变量

Matlab store/modify references to variables within a matrix

我正在尝试为一个应用程序编写一个 save/load 函数,该应用程序在 matlab 中具有大量属性。保存工作正常,但我在加载时遇到了问题。我遇到的问题是:

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

我想做的不是更改加载列表 (loadlist(1,n) 中的值,而是更改它们引用的属性 (app.startingheight,等等)。我有一个尝试使用句柄的想法,但我不太确定它是如何工作的。如有任何帮助,我们将不胜感激。

谢谢!

您可以从变量生成字段名称,所以像这样:

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

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

应该可以。