登录论坛

查看完整版本 : Matlab:加载.mat文件,为什么是结构?我可以将存储的vars加载到内存中吗?


poster
2019-12-14, 20:13
相关代码:

function result = loadStructFromFile(fileName, environmentName) result = load(fileName, environmentName); bigMatrix = loadStructFromFile('values.mat','bigMatrix'); 但是,当我在工作区中查看时,它将“ bigMatrix”显示为1x1结构。但是,当我单击该结构时,它是实际数据(在本例中为998x294矩阵)。



回答:

如LOAD (http://www.mathworks.com/help/techdoc/ref/load.html)的文档所示,如果使用输出参数调用它,则结果将以结构体形式返回。如果不使用输出参数调用它,则变量将在本地工作空间中以其保存名称创建。

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

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

更多&回答... (https://stackoverflow.com/questions/4718417)