Plot surfaces with random peaks

7 views (last 30 days)
Tejas
Tejas on 24 Jun 2020
Commented: Seeven Amic on 28 May 2022
I'm working on a project where I want to run random walks on 3D surfaces with multiple peaks. In order to do this, I'm looking for a good way to generate surfaces with random peaks. It'd be preferred that they are continuous surfaces and resemble an actual landscape. I found the 'peaks' function of Matlab especially helpful. I also cannot have valleys, but a simple changing of signs of the variable 'z' wherever it was negative gave me a pretty good landscape.
Are there any other ways that I can create such surfaces in Matlab? In the best case, I'd have a function where changing a few parameters can give me surfaces with peaks at random locations and random heights. But any help in this direction is much appreciated. Thank you.
  1 Comment
Seeven Amic
Seeven Amic on 28 May 2022
Can you share the code for the above surface plot? Thanks

Sign in to comment.

Accepted Answer

darova
darova on 24 Jun 2020
What about griddata?
x = rand(20,1);
y = rand(20,1);
z = rand(20,1);
[x1,y1] = meshgrid(0:0.05:1);
z1 = griddata(x,y,z,x1,y1,'cubic');
plot3(x,y,z,'.r')
surface(x1,y1,z1)

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!