Clear Filters
Clear Filters

extract column from 3D meshgrid and griddata matrices

2 views (last 30 days)
Hello,
I have a 3D meshgrid and griddata interpolation like this:
x = 0;
y = 0;
z = min(zp):dz:max(zp);
[X,Y,Z] = meshgrid(x,y,z);
u_int = griddata(xp,yp,zp,u,X,Y,Z);
Then I need to plot u_int with respect to Z:
plot(Z,u_int)
but the code gets the error:
Error using plot
Data cannot have more than 2 dimensions.
In fact Z and u_int are 3D matrices.
size(Z)
gives
ans =
1 1 201
When I try to extract the third colum with:
ZZ = (1,1,:)
I still get a 3D matrix.
How can I transform this 3D matrix into a vector extracting the thid dimension?

Accepted Answer

Walter Roberson
Walter Roberson on 4 Oct 2023
See squeeze
But more likely you would just use
plot(Z(:), u_int(:))
for this very odd case where your x and y are scalars.

More Answers (1)

Antonella Longo
Antonella Longo on 4 Oct 2023
Sorry, I found the answer.
The reshape function has to be used.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!