matlab工作空间中的变量,可以从每个函数中使用,而不将其作为参数传递

时间:2011-08-23 21:03:01

标签: matlab variables

我在MATLAB中使用optimtool运行优化。

我定义了一个函数“Find(x)”,它只接受变量x作为参数。

在我的函数中,我调用另一个函数,它给出了一个3D点矩阵。我称之为矩阵p,其大小为200 x 3。

我希望每次都避免使用相同的p计算,因为当优化工具运行函数时它不会改变。

如何在我的工作空间中计算p一次,我的函数在不计算的情况下使用此p?

感谢。

2 个答案:

答案 0 :(得分:3)

在您的函数中使用PERSISTENT变量。这些仅在第一次使用时计算,并持续到下次执行该函数时。

答案 1 :(得分:0)

如果我理解正确,你可以使用assignin()在你所在的工作区中使变量永久化。使用MATLAB的帮助功能检查它。您也可以将它作为.mat文件保存在主目录中,并在函数调用开始时加载它。