我在MATLAB中使用optimtool运行优化。
我定义了一个函数“Find(x)”,它只接受变量x作为参数。
在我的函数中,我调用另一个函数,它给出了一个3D点矩阵。我称之为矩阵p,其大小为200 x 3。
我希望每次都避免使用相同的p计算,因为当优化工具运行函数时它不会改变。
如何在我的工作空间中计算p一次,我的函数在不计算的情况下使用此p?
感谢。
答案 0 :(得分:3)
在您的函数中使用PERSISTENT变量。这些仅在第一次使用时计算,并持续到下次执行该函数时。
答案 1 :(得分:0)
如果我理解正确,你可以使用assignin()在你所在的工作区中使变量永久化。使用MATLAB的帮助功能检查它。您也可以将它作为.mat文件保存在主目录中,并在函数调用开始时加载它。