Matlab eval函数
我正在努力自学MATLAB。在我正在使用的书中,有一个脚本示例涉及Matlab eval函数,matlab,eval,Matlab,Eval,我正在努力自学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 我的问题是-为什么必须在eva
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
我的问题是-为什么必须在eval
命令的末尾包含'x y z'
?我试着运行这个脚本,但没有包括这个,而且,据我所知,脚本的行为看起来完全相同(至少我找不到任何区别)
如果有人能向我解释为什么包括这一点,我将不胜感激 如果没有
xyz
,输出文件(.mat文件)将包含工作区中的所有变量(即xyzθtk…
)。如果您只想存储x y z
,那么您可以在调用时指定它。如果没有x y z
,您的输出文件(.mat文件)将包含工作区中的所有变量(即x y zθt k…
)。如果您只想存储x y z
,则在调用时指定它。'x y z
是保存
函数/命令的参数。他们告诉save
哪些变量要保存到文件outputfile
。有关save
命令的更多信息,请参见MATLAB
注意:根据MATLAB文档,您可以用调用save
函数替换该行。例如,您可以使用
save(outputfile, 'x', 'y', 'z')
'x y z
是保存功能/命令的参数。他们告诉save
哪些变量要保存到文件outputfile
。有关save
命令的更多信息,请参见MATLAB
注意:根据MATLAB文档,您可以用调用save
函数替换该行。例如,您可以使用
save(outputfile, 'x', 'y', 'z')
之所以使用函数“eval”,是因为使用eval可以保存名为result\u 1 result\u 2的列表结果。。。同时
即,将数据保存到递增编号的ASCII文件中。
您可以在以下网站上找到更多详细信息:
注意:eval(['save',outputfile,'x y z'])中字母x之前有一个空格。使用函数'eval'的原因是使用eval可以保存名为result\u 1 result\u 2的列表结果。。。同时
即,将数据保存到递增编号的ASCII文件中。
您可以在以下网站上找到更多详细信息:
注意:字母x前面的eval(['save',outputfile,'xyz'])中有一个空格。非常感谢!谢谢你的帮助,非常感谢!谢谢你的帮助。这是一个可怕的例子!不应该教人们使用eval
,当然也不应该教人们在有非常好的eval
免费语法的情况下使用。是的,我自己也很想知道“eval”的用途。为什么不用“保存”呢?我认为这个例子的目的只是展示如何使用“eval”,但这并不意味着这本书实际上鼓励在保存脚本/函数时使用它。这是一个可怕的例子!不应该教人们使用eval
,当然也不应该教人们在有非常好的eval
免费语法的情况下使用。是的,我自己也很想知道“eval”的用途。为什么不用“保存”呢?我认为本示例的目的只是展示如何使用“eval”,但这并不意味着本书实际上鼓励在保存脚本/函数时使用它。