
How to plot a ground surface in 3D using meshgrid?
    7 views (last 30 days)
  
       Show older comments
    
I have been trying to generate a inclined surface in order to use in 3D slope stability calculations. I have an example of surface that I made manually like it is shown below.. However, I woul like to do the same using meshgrid and I could not figure out how. Once I manage to plot it then I will use that surface to locate an ellipsoid in.  Thanks in advance.

0 Comments
Answers (1)
  Cris LaPierre
    
      
 on 3 Oct 2020
        This is one way. You can use meshgrid to turn vectors into matrices with values repeated in rows and/or columns. However, only Z must be a matrix. X and Y can be vectors. So here I define the slope along X, and then use meshgrid to repeat it for all values of Y. I tried to be tricky with computing the slope but mostly succeeded in making it look more complicated than it needs to be.
x = linspace(-7,9,17);
y = linspace(-4,4,9);
low = 2.6;
high = 3.4;
step = 0.1;
flat = 4;
z = (low-flat*step):step:(high+flat*step);
z(z<low) = low;
z(z>high) = high;
[Z,~] = meshgrid(z,y);
mesh(x,y,Z,'EdgeColor','k')
grid off

0 Comments
See Also
Categories
				Find more on 2-D and 3-D Plots in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
