在不使用函数的情况下保留matlab脚本中的变量

时间:2014-01-03 18:04:55

标签: matlab

我在matlab中有一个原始脚本,它使用以下代码在当前工作目录中运行一个名为“param_file.m”的参数文件:

param_file; % this is used for parameter decleration before each run... 

运行上面的内容后,我得保留变量...... 然后我运行另一个使用前面参数的函数。

perform_work(); 

现在我想以批处理模式运行上面的代码,所以我把上面的函数包装成:

function doStuffUsingParams(param_file_name)
run(param_file_name);
perform_work();

不幸的是,运行(param_file_name);不像第一个例子那样返回变量。 任何建议都会非常感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

  1. 如果它根本不起作用,我的意思是它不会返回变量 并且在运行代码的最后一行时出错

    perform_work()
    

    您可能需要将第一个函数的地址赋予 正确运行运行命令。查看此page上的示例以获取更多信息。或者您可以将两个功能放在同一个文件夹中。

  2. 但如果一切正常并且没有错误:

    当你从另一个函数内部运行它时,它实际上是 运行,但你应该知道每个功能都有自己的功能 工作区。功能完成后,工作区将被删除 终止。

    运行此行代码后:

    run(param_file_name);
    

    它实际上带来了工作区中的所有内容。

    但是功能 doStuffUsingParams 完成后才能使用它 自动清除工作区。

  3. 我建议您在第二行之后使用 disp 函数来查看变量实际存在:

    function doStuffUsingParams(param_file_name)
    run(param_file_name);
    disp(param1)
    perform_work();