我尝试在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
答案 0 :(得分:1)
经过进一步研究,我发现documentation(R2018a)也指出
load filename是语法的命令形式。 [...] 当任何输入(例如文件名)为变量时,请勿使用命令格式。
这回答了我的第二个问题。使用:
load(filename)
答案 1 :(得分:1)
此错误的原因是该语句:
load filename
内部评估为:
load('filename.mat')
为了支持示例中的load mat1
之类的命令形式的语句。失败是因为文件filename.mat
显然不存在。
我认为函数形式总是更安全。