【问题标题】:Script for running (testing) another matlab script?用于运行(测试)另一个 matlab 脚本的脚本?
【发布时间】:2014-01-09 00:46:10
【问题描述】:

我需要创建一个 matlab mfile,它将运行另一个 matlab 文件,默认值在 txt 文件中给出。它对测试程序很有用,因此用户可以在 txt 文件中指定值,而不是每次启动程序时都输入值,我的脚本将为程序提供默认值,用户只会看到结果。

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

我只有两个问题:

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

2) 正如我之前所写的 - 这会正常工作吗?或者我错过了一种更简单的方法 - 例如,我可能不必创建 tmp 文件?

我真的需要你的帮助! 提前致谢!

【问题讨论】:

  • 我有 3 条建议: (1) 使用函数而不是脚本。 (2) 看看MATLAB's unit test framework。 (3) 考虑为您的输入文件使用 JSON 样式的文本文件;您可以使用JSONlab 将它们加载为MATLAB structures 以将输入参数传递给您的函数。
  • 这可能更容易,我知道,无论如何我必须创建一个 SCRIPT 来处理 SCRIPTS。那是我的任务。

标签: matlab


【解决方案1】:

如果必须编辑默认值的人可以访问 Matlab,我建议 saveing mat 文件中的值并在需要时loading 它们。否则,您可以只编写一个包含对某些变量的赋值的小脚本,但请确保保持较小。例如:

maxRuns = 100;
clusters = 12;

设置默认值就这么多。关于这个过程,我的主要建议是将你想要测试的东西包装成一个函数。这样,代码中用于调用“脚本”的变量将不会干扰,因为函数获得了自己的单独工作区。如果您不熟悉它们,请查看doc function

【讨论】:

  • 这可能更容易,我知道,无论如何我必须创建一个 SCRIPT 来处理 SCRIPTS。无论如何,把脚本变成函数是一个聪明的主意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-03
  • 1970-01-01
  • 2023-01-13
  • 2022-01-23
  • 1970-01-01
  • 2015-03-11
相关资源
最近更新 更多