In case anybody is wondering, I solved it. My basic method was as follows:
- Determine how many elements were in each dimensions
- Create an empty array with the correct number of dimensions and elements
- Linearly index through the empty array. At each point, convert the linear index into subscript indices and then evaluate the input vectors to determine if there was a valid piece of data at that point. If so, place the data in the matrix.
- Then, I came back, looping through again, interpolating between existing data pieces to fill in the gaps.
It's not perfect but it works. It all depends on how your data is set up.