extract column from 3D meshgrid and griddata matrices

2 次查看(过去 30 天)
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?

采纳的回答

Walter Roberson
Walter Roberson 2023-10-4
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.

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by