评价函数
问题描述:
我想学习MATLAB自己。在这本书中,我使用有涉及eval
脚本例子如下:评价函数
t = [0:0.1:2]
for k = 1:10
outputfile = ['result',int2str(k)];
theta = k*pi*t;
x = sin(theta);
y = cos(theta);
z = x.*y.^2;
eval(['save ',outputfile,' x y z'])
end
我的问题是 - 为什么它需要包括' x y z'
在eval
命令的结尾?我试图运行这个脚本而不包括这个,并且,据我所知,脚本看起来行为完全一样(至少我找不到任何区别)。
如果有人能向我解释为什么包括这个,我将不胜感激!
答
'x y z
是save
函数/命令的参数。他们告诉save
哪些变量要保存到文件outputfile
。有关save
命令的更多信息,请参见MATLAB documentation。
注意:根据MATLAB文档,可以用函数save
的函数替换该行。例如,你可以只使用
save(outputfile, 'x', 'y', 'z')
+0
非常感谢!评价它。 – Kristian 2012-04-14 21:01:15
答
之所以使用功能“EVAL”是,通过使用eval你可以保存命名为result_1 result_2 ......在一次名单的结果。 即,将数据保存到增量编号的ASCII文件。 您可以在此网站开通找到更多的细节:
注意:有一个在EVAL一个空格([,OUTPUTFILE, 'X Y Z' '保存'])字母x前。
这是一个可怕的例子!人们不应该被教导使用'eval',当然当没有完美的'eval'-free语法可用的时候并不是这样。 – Jonas 2012-04-14 22:09:46
是的,我想知道“eval”自己的目的。为什么不使用“保存”?我认为这个例子的目的只是为了展示如何使用“eval”,但并不意味着这本书实际上鼓励在保存脚本/函数时使用它。 – Kristian 2012-04-15 10:35:37