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

10 views (last 30 days)
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?

Accepted Answer

KSSV
KSSV on 5 Oct 2016
Edited: Walter Roberson on 5 Oct 2016
  3 Comments
Nadia A
Nadia A on 10 Oct 2016
Edited: Nadia A on 10 Oct 2016
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'

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!