Random values from histogram
显示 更早的评论
Hi
how i can use one value at the time from histogram and after use that value is deleted and i cannot use that again eg. if i have
x=rand(1,100)
[N,X]=hist(x,15)
bar(X,N,1,'w')
i want to get 100 values one by one
Thanks a lot
采纳的回答
更多回答(2 个)
Walter Roberson
2011-2-8
1 个投票
Okay, then, what this is equivalent to is taking each bar count as a run-length encoding of the value associated with that bar (e.g., the bar center), then doing a randperm() of that expanded vector.
I know a couple of people have posted efficient run-length decoding routines; I just don't happen to remember one at the moment.
Walter Roberson
2011-2-8
x(randperm(1:length(x))
The histogram becomes irrelevant. Each item will occur exactly the number of times it did in the original list.
3 个评论
Andrew Newell
2011-2-8
That is what niko seems to be asking, but what is the point of a random rearrangement of numbers that are already randomly chosen?
Walter Roberson
2011-2-8
Hmmm... the bar _counts_ are what are to be chosen from, perhaps? But if so then should the bar count decrease one one of the items from that bar is "used up", or should the bar count itself stay the same but the number of repetitions of it "available" decreases?
Or perhaps it is the bar _index_ that needs to be chosen randomly, in accordance with the counts?
niko kauppinen
2011-2-8
类别
在 帮助中心 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!