Matlab山峰地形绘制
在看论文的时候,经常能看到论文中从数学公式直接绘制出的山峰地形,这篇文章就从数学公式实现一下。
- 首先看一下山峰的数学模型:
其中:
- (X,Y)代表生成的坐标网格数据;
- H(k)指的是第k个山峰的高度;
- [x(k),y(k)]代表第k个山峰的坐标;
- [xs(k),ys(k)]代表第k个山峰沿x轴、y轴方向的下降坡度;
- Z即是山峰的地形数据;
下面用Matlab实现:
x = [20 30 40 65 70 80 50];
y = [30 80 50 50 80 30 23];
h = [40 60 50 50 60 40 60];
xs = [12 11 12 10 14 12 12];
ys = [12 11 12 10 14 12 12];
[X,Y] = meshgrid(1:0.2:120);
Z = zeros(596,596);
for k1 = 1:7
Z = Z + h(k1)*exp(-((X - x(k1))/xs(k1)).^2 - ((Y - y(k1))/ys(k1)).^2);
end
meshz(X,Y,Z);
axis([0 100 0 100 0 100])
看下效果: