How to access a particular array from a structure of arrays saved in a .mat file without loading the entire mat file

10 次查看(过去 30 天)
Hi
I have a .mat file which contain a structure which in turn has many fields and large data arrays. Sample file shown below:
y_struct = struct('yval',[],'time',[]);
y_struct.yval = struct('tag',{'y1value','y2value','y3value'},'data',{[],[],[]}); % Defining structure to store the y array
% and its deviations
y_struct.time = t;
y_struct.yval(1).data = input;
y_struct.yval(2).data = y_struct.yval(1).data + 0.5;
Load command will save the entire mat file in memory. In my application, I want to access data fields with a particular tag(y_struct.yval(1).data). Is there a way to directly access this array element without having to load the entire .mat file? I read that using a matfile object we can access mat file elements but is it possible to access array index?

采纳的回答

KSSV
KSSV 2016-10-5
编辑:Walter Roberson 2016-10-5
  3 个评论
Nadia A
Nadia A 2016-10-10
编辑:Nadia A 2016-10-10
It says field cannot be accessed. The mat file contains 3 (1x4) structures. tag1,tag2,tag3(each of dimension 1x4). When I try to access data field of tag1, it shows error
'Cannot index into 'tag1' because MatFile objects only support '()' indexing'

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Workspace Variables and MAT-Files 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by