没有关闭“ matfile”连接?

时间:2019-02-01 20:57:36

标签: matlab mat-file

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

1 个答案:

答案 0 :(得分:2)

返回的对象属于matlab.io.MatFile类,它是一个句柄类。

在MATLAB中,句柄类是一种与普通矩阵不同的类。它们不会被复制,它们总是通过引用传递。进行复制只是简单地对该对象进行了新引用。这种类型的对象通常用于拥有资源。清除对对象的最后一个引用后,资源将自动释放。

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

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

...但是请注意,您不需要显式执行此操作,因为局部变量会在作用域的末尾(即函数返回时)自动清除。

有关句柄类的更多信息,请参见this page of the docs