Matlab:加载一个.mat文件,为什么它是一个结构?我可以将存储的变量加载到内存中吗?

Nul*_*uli 8 matlab matlab-load

相关代码:

function result = loadStructFromFile(fileName, environmentName) 
    result = load(fileName, environmentName);


bigMatrix = loadStructFromFile('values.mat','bigMatrix'); 
Run Code Online (Sandbox Code Playgroud)

但是当我查看工作区时,它会将'bigMatrix'显示为1x1结构.但是,当我单击结构时,它是实际数据(在本例中为aa 998x294矩阵).

Jon*_*nas 9

正如LOAD文档所示,如果使用输出参数调用它,结果将在结构中返回.如果不使用输出参数调用它,则会在本地工作空间中使用保存它们的名称创建变量.

对于您的函数loadStructFromFile,如果保存的变量名称可以具有不同的名称(我假设environmentName),您可以通过写入返回变量

function result = loadStructFromFile(fileName, environmentName) 
    tmp = load(fileName, environmentName);
    result = tmp.(environmentName); 
Run Code Online (Sandbox Code Playgroud)