How to use histcounts with struct array?
Ältere Kommentare anzeigen
Hello,
I have a problem, I want to do this:
y = 10e-9*rand(270,1);
bins=linspace(0,10e-9,11);
[N,bincounts, binidx] = histcounts(y, bins);
So far no problem, however the value y is in my case the z-coordinate of a struct:
particle(i).coord(1:3);
I can get with a loop these values of particle(i).coord(3) in an array that I can use for input of histcounts.
But for performance reason I want direct access to the structure? Is this possible? I Googled and I found:
<https://nl.mathworks.com/help/matlab/matlab_prog/access-data-in-a-structure-array.html >
"You can index into part of a field only when you refer to a single element of a structure array. MATLAB® does not support statements such as S(1:2).X(1:50,1:80), which attempts to index into a field for multiple elements of the structure."
So I hope someone can help me.
Thanks for your time.
Regards,
Olaf
This is my first mail in this forum. However, I've read and learned a lot from it :)
1 Kommentar
Image Analyst
am 24 Dez. 2017
I fixed your formatting. You can learn how to do it yourself here http://www.mathworks.com/matlabcentral/answers/13205#answer_18099
I assume you wanted to know how to vectorize and use handy built in functions like Jos showed you below, rather than for performance reasons. For a microscopic array with only 270 elements, no performance difference will be human noticeable at all between using a for loop and using arrayfun().
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Structures finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!