eval命令作为与Matlab一起使用的字符串

时间:2011-05-04 09:14:55

标签: string matlab eval

在Matlab中是否有办法将命令存储为字符串供以后使用?
例如,如果我有

x = 1:10;
plot(x, x);

我可以以某种方式自动将第二行存储为str = 'plot(1:10, 1:10)',所以稍后我可以使用eval(str)再次使用该命令吗?帮助我完成这项任务的任何有用的功能?

P.S。我知道可以使用str='plot(x,x)'存储该行,但这不够好,因为它取决于工作空间变量x的即时值,它可以随时间变化。

1 个答案:

答案 0 :(得分:6)

您可以尝试使用闭包。在你的情况下,这将是这样的:

x=1:10;
f = @()plot(x, x);

现在f拥有执行绘图所需的一切(包括x中的信息),您可以将其应用于执行绘图功能:

f()