【发布时间】:2014-07-31 21:45:27
【问题描述】:
我正在执行一项涉及对 1000 多个案例进行模拟的分析。我也为每个案例提取了大量数据(大约 70MB)。目前我将每个案例的结果保存为:
Vessel.TotalForce
Vessel.WindForce
Vessel.CurrentForce
Vessel.WaveForce
Vessel.ConnectionForce
...
Line1.EffectiveTension
Line1.X
Line1.Y
Line2.EfectiveTension
Line2.X
Line2.Y
...
save('CaseNo1.mat')
现在,我需要对 CaseNo1.mat 到 CaseNo1000 执行分析。最初我计划通过在其中加载所有案例然后使用h5read 访问任何变量来创建一个Database.mat 文件。这样,Matlab 就不需要一次加载所有数据。但是,我现在担心我的数据库文件会太大。
有什么方法可以从单个案例文件中读取结构化变量,例如CaseNo1.mat,而无需将CaseNo1.mat 文件加载到内存中。
Matlab 示例显示直接从 MAT 文件加载变量,而不加载整个 MAT 文件。但我不确定如何以同样的方式读取结构数据。
x=load('CaseNo1.mat','Line1.X')
说Line1.X 未找到。但它就在那里。访问数据的命令不正确。也尝试使用h5read,但它说CaseNo1.mat 不是HDF5 文件。
任何人都可以帮助解决这个问题。
除此之外,如果有任何关于执行此类数据密集型分析的建议,我也将不胜感激。
【问题讨论】: