How to vertically concatenate certain fields of a structure on each pass of a loop?

1 view (last 30 days)
i have a series of functions i need to analyze .txt files and pull relevant data for example, with the output from 'analyzedata' being a structure. How can i concatenate the results from each file to the results from previous files?
i want final to be a struct with the fields below, with those fields populated with the values from each loop of 'analyze data'
fields={'duration','temperture','RPM'}
final=struct(fields)
for k=1:numel(files)
.....
[data]=pulldata(filename)
[results]=analyzedata(data)
end
  2 Comments
Nicholas Kavouris
Nicholas Kavouris on 23 Jun 2022
a table would work for the final results, but the results of my analysis function contain a few arrays which are best suited to a structure.
i do not understand why it is so difficult to concatenate results from one field into another structure

Sign in to comment.

Answers (1)

Matt J
Matt J on 23 Jun 2022
clear results
for k=numel(files):-1:1
.....
data=pulldata(filename);
results(k)=analyzedata(data);
end
for f=string(fieldnames(results)')
final.(f)=vertcat( results.(f) );
end

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!