Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: griddedInterpolant with three four dimensional arrays
Replies: 3   Last Post: Apr 10, 2013 3:34 PM

 Messages: [ Previous | Next ]
 Jonathan W Smith Posts: 90 Registered: 12/17/10
Re: griddedInterpolant with three four dimensional arrays
Posted: Apr 10, 2013 2:24 PM

"Steven_Lord" <slord@mathworks.com> wrote in message <kk46sj\$am9\$1@newscl01ah.mathworks.com>...
>
>
> "Jonathan W Smith" <jwsmith9@gmail.com> wrote in message
> news:kk43fn\$t7s\$1@newscl01ah.mathworks.com...

> > Hello
> >
> > The p here stands for pressure.
> > Array p_1 has dimension has south-north, west-east, vertical, and time
> > dimensions.
> >
> > p_2 has the same dimensions and is the same size as p_2 but has a
> > different set of pressure data.
> > I want to find the pressure levels of p_1 in the p_2 array because I have
> > another array that contains ozone (I'll call this array o3). The ozone
> > data corresponds with p_1.

>
> What specifically are the SIZEs of p_1, p_2, and o3?
>

> > I tried the following,
> >
> > new_p = griddedInterpolant(p_2, p_1, o3);

>
> Okay, that will work if p_2, p_1, and o3 are matrices of the same size. If
> p_2 and p_1 are vectors and o3 is a matrix the same size as the matrices you
> receive as output from an NDGRID call with p_2 and p_1 as input then you
> need to call griddedInterpolant differently.
>
> new_p = griddedInterpolant({p_2, p_1}, o3);
>
> Compare:
>
> oneten = 1:10;
> [X,Y] = ndgrid(oneten, oneten);
> V = X.^2 + Y.^2;
> F = griddedInterpolant(X,Y,V,'cubic');
> F2 = griddedInterpolant({oneten, oneten},V,'cubic');
>
> See the third, fourth, and fifth items under Input Arguments on the page to
>
> --
> Steve Lord
> slord@mathworks.com
> http://www.mathworks.com

Each array is 41, 71, 8 (each array the same size). I should also clarify that each array is a 3-dimensional array and not 4.

However when I try, new_p = griddedInterpolant(p_2, p_1, o3);

I get this error:
Error using griddedInterpolant The nubmer of input coordinate arrays does not equal the number of dimensions (NDIMS) of these arrays.

What am I missing?
Jonathan

Date Subject Author
4/10/13 Jonathan W Smith
4/10/13 Steven Lord
4/10/13 Jonathan W Smith
4/10/13 Steven Lord