Calculating means ect from cell structure

13 vues (au cours des 30 derniers jours)
Christoph Bauer
Christoph Bauer le 10 Août 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

Réponse acceptée

Oleg Komarov
Oleg Komarov le 10 Août 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

Plus de réponses (1)

Christoph Bauer
Christoph Bauer le 31 Août 2011
thank you very much

Catégories

En savoir plus sur MATLAB Report Generator dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by