Plot surfaces with random peaks
11 次查看(过去 30 天)
显示 更早的评论
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/321190/image.jpeg)
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.
采纳的回答
darova
2020-6-24
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)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/321289/image.png)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!