PDA

查看完整版本 : 如何绘制表面图


poster
2019-12-10, 20:48
Matlab中是否有内置的/ m文件来获取高度波动的高山函数图的多个峰值?我想在3D中获得一个相似的数字! 替代文字 (https://i.stack.imgur.com/t6sOk.jpg)和https://i.stack.imgur.com/bwVe0.jpg

公式(大概)是

z = sin(x1)sin(x2)\ sqrt {x1x2}

如何以一种丰富多彩的示例性方式绘制主要功能(如高山,松树,蛋箱功能等)的表面图。请帮助提供示例代码。



回答:

好了,您必须创建一个网格网格来选择正确的采样(在此示例中,步长为0.1至5,从-5到5)。在Z中输入函数的公式Z = f(X,Y)

X=[-5:0.1:5]; %% The X-axis goes from the value of -5 to +5 with a step of 0.1 (100 points) Y=[-5:0.1:5]; %% like the X-axis [wx,wy]=meshgrid(X,Y); %% see [MATLAB documentation][1] Z=sinc(sqrt((wx-5).^2+wy.^2)); %% this is an example formula, substitute it with YOUR formula fig=surfl(wx,wy,Z); %% make a surface plot with lighting shading interp; %% optional, try to remove it. colormap hot; %% here you decide the colormap: hot is the one going from white to red view(45,40) %% optional, select the angle of view 如果您想要有意义的颜色,只需研究colormap函数,这非常简单。



更多&回答... (https://stackoverflow.com/questions/4437148)