Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我有一个MATLAB函数,需要访问一些largeFile.mat的数据。如果(为了避免污染全局名称空间)我在函数中放入了load命令,则MATLAB将在每次调用该函数时重新加载largeFile,还是足够聪明以在两次调用之间缓存largeFile?例如
function hello() load largeFile.mat; display('hi'); end for i=1:1000 hello(); end 我应该将load命令保留在函数中,还是应该执行一次并以arg形式传递largeFile的数据?谢谢! 回答: Matlab会在每次调用时加载它,因此调用一次并将其作为输入要快得多。如果您不想使工作区混乱,建议您将文件加载到这样的结构中 L =负载('largeFile.mat'); 编辑:我对您的hello()函数和我的.mat文件之一进行了快速测试。将其加载到函数中并运行100次,我用了43.29秒。加载一次并将其作为输入进行100次运行需要0.41秒,因此时间差很大。 更多&回答... |
![]() |
![]() |