Surface Plot with 3 Matrix (100x100)
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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.![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/646590/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/646590/image.png)
Réponses (1)
Chunru
le 9 Juin 2021
Modifié(e) : Chunru
le 9 Juin 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 commentaire
Walter Roberson
le 9 Juin 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')
Voir également
Catégories
En savoir plus sur Surface and Mesh Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!