相关代码:

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


bigMatrix = loadStructFromFile('values.mat','bigMatrix');

但是,当我在工作区中查看时,它将“bigMatrix”显示为1x1结构。但是,当我单击该结构时,它是实际数据(在这种情况下为998x294矩阵)。

最佳答案

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

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

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

关于Matlab:加载.mat文件,为什么是结构?我可以将存储的vars加载到内存中吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4718417/

10-12 22:00