Borrar filtros
Borrar filtros

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

1 visualización (últimos 30 días)
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 comentarios
dpb
dpb el 23 de Jun. de 2022
A structure array or a structure containing arrays? Two different things...
I'd ask why the structure and not a table, though??? Would fit very nicely and be as easy or easier to address.
Nicholas Kavouris
Nicholas Kavouris el 23 de Jun. de 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

Iniciar sesión para comentar.

Respuestas (1)

Matt J
Matt J el 23 de Jun. de 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

Categorías

Más información sobre Structures en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by