- 文件资源占用问题
有时候自己写代码或者运行别人的代码的时候会遇到读写了文件但是没有释放资源,由于matlab是交互式运行,脚本运行完了解释器还在运行,不触发垃圾回收的话这个文件基本不会被释放(没有仔细研究matlab资源管理,此处为猜测),导致在系统资源管理器中无法正常操作文件(“显示文件被其程序打开”)。在其他环境遇见类似问题,人们基本上会重启解决问题,但是matlab启动本身耗时很久,重启是不可能重启的,这辈子都不可能重启的。
所以需要如下命令释放文件资源:
fclose(fileID)
%根据id释放文件,当然跑别人的代码时不实用,因为你要费半天去找找他在哪里操作了文件。
fclose('all')
%关闭所有文件,简单粗暴很实用
status = fclose(___)
%上述两个语句会返回关闭操作的状态码,可以这样记录下来
ref:
【1】https://www.mathworks.com/help/matlab/ref/fclose.html
网友评论