From your description it seems the first dimension of your array is the
"seconds" index. If you simply feed this 3D array, autoindexed, into a for
loop, the loop will execute 5 times, one for each 1s block. Have a shift
register in the for loop hold a 2D array of data, and each iteration append
the current 2D array that comes into the loop to this shift register. On the
output of the shift register you will then get a 2D array 16 columns wide by
1250 lines long. You may have to mess about a little bit to get the correct
output (the 2D array coming in may need to be transposed, for instance).
Alternatively, if your 3D array is coming out of a loop that takes the 2D
data array every second and you're simply having the loop build the 3D array
as it comes out, put the
shift register in this DAQ loop so you build the
correct array at source, rather than introducing lots of unnecessary
manipulation.
Thijs Boeree wrote in message
news:3A373EF4.3C539921@amc.uva.nl...
> Hi,
>
> I have a 3D array coming out of a for loop lets say 5 x 16 x 250 (5
> seconds data of 16 channels with 250 samples each) (but the sizes are
> not always the same!) Now i want to concatenate the 5 seconds in a 2D
> array of 16 channels with (5 x 250 = 1250) samples each. Anyone?
>
> Thijs
>