【问题标题】:How to load partial variables from mat files如何从 mat 文件中加载部分变量
【发布时间】:2016-04-12 07:28:10
【问题描述】:

在 MATLAB 中,我有一个结构保存到 matlab 文件中:

Ch=  
    H:[4-D double]
    D: [1x15 double]
    duration:6
    power: [1x1 struct]

H的大小是

size(H) = 1332  15   4   128

save(examplefile, 'Ch','-v7.3')

接下来我解释一下我想做什么:

因为文件很大,所以在我的代码中,我想从文件examplefile 加载部分变量。例如,有一次我只想加载文件H 的第一个1:1332/n examplefile;,第二次我只想加载从1333/n:2*1333/n 运行的下一个变量,依此类推....

我的问题是如何从创建的文件中加载部分变量?

期待建议和帮助

【问题讨论】:

  • '-v.37'?你的意思是'-v7.3'
  • 是的,抱歉,这是正确的

标签: matlab


【解决方案1】:

您正在寻找matfile 命令。不幸的是,它在索引方面非常有限,不支持索引结构。 H 必须是 mat 文件中的单个变量。

%save using individual variables
save(examplefile,'-struct','Ch','-v7.3')
%create matfile object:
data=matfile(examplefile)
%example indexing operation. Only that part of `H` is read.
part=data.H(1:3,1,1,1)

【讨论】:

  • 非常感谢。我想问一下你用的save命令是不是只保存H?它与我使用它的方式有何不同..
  • @Henry 通过使用'-struct',所提供结构的字段(此处为Ch)作为单独的变量存储在.mat 文件中。这意味着您将存储HDdurationpower,因为它们本来是工作区中的单个变量。有关示例,请参阅thismatfile 的输出是一个 MAT 文件对象,只能用于读取原始 m 文件的某些部分。
猜你喜欢
  • 2018-03-04
  • 2013-09-01
  • 2023-03-15
  • 1970-01-01
  • 2016-05-01
  • 2020-07-25
  • 2019-12-17
  • 2019-06-24
  • 2012-01-20
相关资源
最近更新 更多