MATLAB加载不适用于变量文件名

时间:2018-06-29 09:35:09

标签: matlab

我尝试在MATLAB R2016a中加载.mat文件。但是,当我将文件名变量设置为时,它将失败并显示

  

使用负载时出错   无法读取文件“文件名”。没有这样的文件或目录。

R2018a的documentation指出文件名必须为

  

指定为字符向量或字符串

我做到了。我在SO上搜索了类似的问题,但都是由于键入错误(例如Error using load; Unable to read file matlab

复制代码:

clear all
mat1 = magic(5);
save mat1
clear mat1
load mat1 % working
clear mat1
filename = 'mat1.mat'; % tried with/without .mat
load filename % not working
  • 此错误的原因是什么?
  • 如何解决?

2 个答案:

答案 0 :(得分:1)

经过进一步研究,我发现documentation(R2018a)也指出

  

load filename是语法的命令形式。 [...]   当任何输入(例如文件名)为变量时,请勿使用命令格式。

这回答了我的第二个问题。使用:

load(filename)

答案 1 :(得分:1)

此错误的原因是该语句:

load filename

内部评估为:

load('filename.mat')

为了支持示例中的load mat1之类的命令形式的语句。失败是因为文件filename.mat显然不存在。

我认为函数形式总是更安全。