Plot surfaces with random peaks

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 件のコメント

Seeven Amic
Seeven Amic 2022 年 5 月 28 日
Can you share the code for the above surface plot? Thanks

サインインしてコメントする。

 採用された回答

darova
darova 2020 年 6 月 24 日

0 投票

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)

1 件のコメント

Tejas
Tejas 2020 年 7 月 13 日
This helps me. Thank you!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2020a

質問済み:

2020 年 6 月 24 日

コメント済み:

2022 年 5 月 28 日

Community Treasure Hunt

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

Start Hunting!

Translated by