Does anyone have or know of a link to a VI that will randomize array elements?
-- ____________________________________________ Aaron Duley / firstname.lastname@example.org Motor Behavior & Performance Psychology Laboratories http://www.hhp.ufl.edu/ess/mblab Department of Exercise & Sport Sciences College of Health & Human Performance University of Florida (352) 392-0580 x1378 100 Florida Gym R-132-D PO Box 118207 Gainesville, Fl 32611
> Does anyone have or know of a link to a VI that will randomize array > elements? >
I don't have a VI, but I can describe how to build one pretty quickly.
The key is to select an array index and swap it with the last element of the array. By swap, I mean index both and replace them with each other. Then do the same operation, select a random array from the elements ignoring the last, and swap it with the next to last. Do this swap with another element of the array and statistically, you are shuffled.
In more detail: If your array length is N, indexed 0 through N-1, the first thing to do is generate a number R, between 0 and N-1. Index two elements from the array, R and N-1. Write the values back to the two elements, but reversed. Next iteration generate a number between 0 and N-2. Index with R and N-2, and swap.
You can do this with a For loop. Wire the array into a shift register. Compute the random number from Array Size - 1 - i.