4

Matlab 是否有一种 with...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

这可能吗?

4

2 回答 2

3

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

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

编辑:
根据@Nick 的评论,如果Root.ChildLevel1不是 子类handle,则应添加以下行:

Root.ChildLevel1 = cur;

我也建议

clear cur; 

在末尾。

于 2013-02-07T15:36:31.407 回答
1

我不得不说我不建议经常使用这个函数,但我曾经尝试过一个 FEX 贡献,它可以让你解压结构。

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

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

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

于 2013-02-07T16:44:24.167 回答