Matlab - With ...结构

时间:2013-02-07 15:33:13

标签: matlab

Matlab有一种带... end命令吗? http://msdn.microsoft.com/en-us/library/wc500chb(v=vs.80).aspx

我的工作区中有一个包含大量嵌套数据的变量。现在我不想一直输入这个:

Root.ChildLevel1.A = Root.ChildLevel1.B + Root.ChildLevel1.C

但更像是:

with Root.ChildLevel1
  A = B + C
end

这可能吗?

2 个答案:

答案 0 :(得分:3)

我不知道Matlab中有这样的功能 你能做的是

cur = Root.ChildLevel1;
cur.A = cur.B + cur.C;

修改
根据@Nick的评论,如果Root.ChildLevel1 subclass of handle, 然后应该添加以下行:

Root.ChildLevel1 = cur;

我也建议

clear cur; 

最后。

答案 1 :(得分:1)

我不得不说我不建议经常使用这个功能,但我曾尝试过一个FEX贡献,允许你解压缩结构。

当然,这仍然需要你在完成计算后更新结构,所以我只将它用于主要使用结构作为输入的子函数。

我不确定,但我认为这是我试过的那个:

http://www.mathworks.com/matlabcentral/fileexchange/26216-structure-fields-to-variables