2014-01-08 92 views
0

我需要创建一个matlab mfile,它将运行另一个matlab文件,并在txt文件中给出默认值。这对于测试程序非常有用,以便用户可以在txt文件中指定值,而不是每次启动程序时都输入值,我的脚本会给程序默认值,用户只会看到结果。用于运行(测试)另一个matlab脚本的脚本?

我的想法是将测试文件加载到一个变量中,改变'variable = input('...');'对于variable = default_variable;将其保存到tmp文件中,执行并删除tmp文件。这是否会完成这项工作?

我只有两个问题:

1)如何消除重复的变量名的问题 - 我的意思是,必须对所有脚本的工作,我不知道在测试脚本中使用的变量名。

2)正如我之前写的 - 这是否会正常工作?或者,也许我错过了一个更简单的方法来做到这一点 - 例如,也许我不必创建一个tmp文件?

我真的需要你的帮助! 在此先感谢!

+0

我有3条建议:(1)使用函数代替脚本。 (2)看看[MATLAB的单元测试框架](http://www.mathworks.com/help/matlab/matlab-unit-test-framework.html)。 (3)考虑为输入文件使用JSON风格的文本文件;你可以使用[JSONlab](http://iso2mesh.sourceforge.net/cgi-bin/index.cgi?jsonlab)将它们加载为[MATLAB结构](http://www.mathworks.com/help/matlab/) structures.html)将输入参数传递给你的函数。 –

+0

无论如何,这可能会更容易,无论如何,我必须创建一个脚本来处理脚本。那是我的任务。 – AdamPL

回答

0

如果编辑默认值的人有权访问Matlab,我会在需要时推荐使用垫子文件中的值和load。否则,你可以写一个包含赋值给某些变量的小型cript,但一定要保持这个小。例如:

maxRuns = 100; 
clusters = 12; 

这么多设置的默认值。关于这个过程,我的主要建议是将你想测试的东西包装到一个函数中。这样,代码中用来调用'脚本'的变量不会因为函数获得自己独立的工作区而受到干扰。如果您不熟悉它们,请检查​​。

+0

无论如何,这可能会更容易,我必须创建一个SCRIPT来处理SCRIPTS。无论如何,将脚本转换为函数是一个聪明的想法。 – AdamPL

相关问题