Conversion from struct type to array

P
pra_shant_shah · Dec 24, 2021 · 2.1K views
Question
Hey I have a .mat file which contains ECG data.Where aa contains struct type [15x10000 double]. How can I convert aa into [somethingx1 double] so that I can calculate length of  ECG signal ?   aa=load('ff.mat'); aa  
Expert Answer
Profile picture of John Williams
John Williams PhD Expert
Answered Nov 20, 2025

So I saved your uploaded .mat file, and load-ed its contents into my workspace like this:

 

load('ff.mat')
It turns out that this .mat file contains no structure, only a single variable named val, which is of class double, and has size 15x10000. You request "I want to store this in array", but it already is an array, and a very convenient double array at that. You want a numeric array of data, and you already have one single perfect array of numeric data within that .mat file.
 
Your statement "I can not understand what value contains in row or column such like time or voltage" is possibly quite true, but do suppose that anyone here on MATLAB Answers can magically know how your data is arranged? To know exactly what the data contains you will have to ask the person who created it, or read their documentation, or perhaps engage in a little bit of reverse engineering of the function that saved that data.
 
For a start it seems likely that the second dimension is time, although personally I could not find any strictly monotonically increasing values in any one row:
 
>> all(diff(val)>0,2)
  ans =
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0

So it seems that some kind of time variable is not included in this data.

 

 

 

s = struct(field,value) creates a structure array with the specified field and value. The value input argument can be any data type, such as a numeric, logical, character, or cell array.

  • If value is not a cell array, or if value is a scalar cell array, then s is a scalar structure. For instance, s = struct('a',[1 2 3]) creates a 1-by-1 structure, where s.a = [1 2 3].

  • If value is a nonscalar cell array, then s is a structure array with the same dimensions as value. Each element of s contains the corresponding element of value. For example, s = struct('x',{'a','b'}) returns s(1).x = 'a' and s(2).x = 'b'.

  • If value is an empty cell array {}, then s is an empty (0-by-0) structure.

Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!