在Matlab中是否有办法将命令存储为字符串供以后使用?
例如,如果我有
x = 1:10;
plot(x, x);
我可以以某种方式自动将第二行存储为str = 'plot(1:10, 1:10)'
,所以稍后我可以使用eval(str)
再次使用该命令吗?帮助我完成这项任务的任何有用的功能?
P.S。我知道可以使用str='plot(x,x)'
存储该行,但这不够好,因为它取决于工作空间变量x的即时值,它可以随时间变化。
答案 0 :(得分:6)
您可以尝试使用闭包。在你的情况下,这将是这样的:
x=1:10;
f = @()plot(x, x);
现在f
拥有执行绘图所需的一切(包括x中的信息),您可以将其应用于执行绘图功能:
f()