查看单个帖子
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 Matlab:加载.mat文件,为什么是结构?我可以将存储的vars加载到内存中吗?

相关代码:

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);

更多&回答...
poster 当前离线   回复时引用此帖