I have a series of 3 2D datasets (each one is 3x3 array):
In the above, the third dimension represents the dataset number.
These are essentially data at the following sample points for each dimension:
dimOneArray = [0.1 0.2 0.3];
For each dataset, I would like to interpolate the following targets in each dimension:
In order to do this, I first generate ndgrid for both dimension sample points and then use interpn on the data f:
[dimOne, dimTwo] = ndgrid(dimOneArray, dimTwoArray);
serialInterp = interpn(dimOneArray, dimTwoArray, f, dimOneTarget, dimTwoTarget)
serialInterp =
serialInterp(:,:,1) =
0.5409
serialInterp(:,:,2) =
0.6143
serialInterp(:,:,3) =
0.6527
As can be seen, this results in an array with interpolants for each dataset as expect.
However when I run this using GPU, I get an error:
gpuInterp = interpn(dimOneArray, dimTwoArray, gpuArray(f), dimOneTarget, dimTwoTarget)
Error using gpuArray/interpn
The input arguments are invalid. For supported syntaxes, see help gpuArray.interpn.
Error in test4 (line 13)
gpuInterp = interpn(dimOneArray, dimTwoArray, gpuArray(f), dimOneTarget, dimTwoTarget);
Can someone see what the issue is?