Filter löschen
Filter löschen

extract column from 3D meshgrid and griddata matrices

2 Ansichten (letzte 30 Tage)
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?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 4 Okt. 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.

Weitere Antworten (1)

Antonella Longo
Antonella Longo am 4 Okt. 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!

Translated by