Calculating means ect from cell structure

14 visualizaciones (últimos 30 días)
Christoph Bauer
Christoph Bauer el 10 de Ag. de 2011
Hello everyone,
I have a beginners question on working with structures. I use a structure (called csvFiles in this example) with deeper levels name and Q: csvFiles.name.Q In my example csvFiles containes 12 entries so it would be a 1:12 struct. I want to do simple statistical operations like calculating mean, std or diff on every entrie stored in Q and write the result into the structure in a new entry called stat: csvFiles.stat
I tried the follwoing skript:
e=1:length(csvFiles);
for k = 1:e
mean=mean([csvFiles(1:e).name.Q])
[csvFiles.stat.mean]=mean
end
This only gives me an entry in the first entry of csvFiles, for the rest it leaves an empty matrix. Can somebody explain me how to solve this?
Thank you

Respuesta aceptada

Oleg Komarov
Oleg Komarov el 10 de Ag. de 2011
You overwrote the function mean with a variable with the same name, don't do that.
From the second iteration mean(...) will be considered a variable being indexed and not a function applied to (...).
Your loop could be rewritten as:
for k = 1:e
[csvFiles.stat.avg] = mean([csvFiles(k).name.Q])
end

Más respuestas (1)

Christoph Bauer
Christoph Bauer el 31 de Ag. de 2011
thank you very much

Categorías

Más información sobre MATLAB Report Generator en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by