Clear Filters
Clear Filters

Surface Plot with 3 Matrix (100x100)

3 views (last 30 days)
Eren Tatar
Eren Tatar on 8 Jun 2021
Commented: Walter Roberson on 9 Jun 2021
Hello, I have three 100x100 matrices. Now I have always shown the visualization with scatter3 (x, y, z). However, I would like to display the plot with the mesh or surface command. Every time I use these commands, however, I get error messages. Could someone help me with this? The plot should look something like the scatter3 command.

Answers (1)

Chunru
Chunru on 9 Jun 2021
Edited: Chunru on 9 Jun 2021
It seems that the data is not on regular grid for mesh and surface command.
For irregular grid, you can consider to interpolate the irregular-grided data for plotting:
F = scatteredInterpolant(x,y,z);
[xq, yq] = meshgrid(xrange, yrange); % define the grid yourselfe
zq = F(xq,yq);
mesh(xq, yq, zq)
  1 Comment
Walter Roberson
Walter Roberson on 9 Jun 2021
pcolor() is really just surf() with view() set from above and with the ZData property forced to all 0.
That is, any x and y arrays that work for pcolor() would also work for surf() and so you cannot do more with pcolor() than with surf()
It is valid to use nonlinear points for the X and Y for surf()
[X, Y] = ndgrid(exp(-linspace(0,2*pi)), cos(linspace(0,2*pi)));
Z = sqrt(X.^2 + Y.^2);
surf(X, Y, Z, 'edgecolor', 'none')

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!