没有关闭 `matfile` 连接?

No closing of `matfile` connection?

matfile 命令打开似乎是与 *.mat 文件的持久连接。在访问文件的大多数编码情况下,有必要关闭该文件。在上面链接的页面中没有提到这一点。这对我来说似乎很不寻常,但我可以假设不需要关闭吗?

返回的对象是matlab.io.MatFileclass的句柄class.

在 MATLAB 中,handle classes 是一种 class,其工作方式不同于普通矩阵。它们不会被复制,它们总是通过引用传递。制作副本只是对对象进行新的引用。这种类型的对象主要用于拥有资源。当对象的最后一个引用被清除时,资源会自动释放。

因此,要关闭连接,只需删除保存引用的变量即可:

m = matfile(filename);
% ... read/write from file
clear m

...但请注意,您不需要明确地执行此操作,因为局部变量会在作用域结束时自动清除(即当函数 returns 时)。

有关句柄 classes 的详细信息,请参阅 this page of the docs