对空间结构聚类,恰好是圆台,找到了上下底面的方程,所以画图。
1 2 3 4 5 | <span style= "font-family: 楷体; font-size: 18pt;" >x = linspace(0,5,100); y = linspace(0,4,100); z = 2.*repmat(x,100,1) + 8.*repmat(y,100,1); surf(x,y,z); </span> |
第一需要说明的是,x是0到5,分成100分,注意分就是个数,用linspace最好,不要x = 0:5/99:5(中间分子的5是 (5 -0 )得来的,分成100分不是要除以99么,是的,a(n) = a(n-1 ) + (n-1)*d,求得就是d。)。
第二是x是m个,y是n个,那么z应该要是m*n个,所以一般先
1 2 | <span style= "font-family: 楷体; font-size: 18pt;" >[X,Y] = meshgrid(x,y); </span> |
查看结果发现,X只是x安航扩展了m次,同理Y,那么我直接repmat就好了,注意是
1 2 3 | <span style= "font-family: 楷体; font-size: 18pt;" >repmat(x,m,1); repmat(y,n,1); </span> |
第三我原来以为直接用repmat不会有网格,看图发现依然有;第三个参数是1,不是m和n,而是1,因为把x、y分别看做一个整体。
1 2 3 4 5 6 7 8 | <span style= "font-family: 楷体; font-size: 18pt;" >x = linspace(0,5,100); y = linspace(0,4,100); z = 2.*repmat(x,100,1) + 8.*repmat(y,100,1); surf(x,y,z); hold on; alpha(.3); shading interp </span> |
首先是alpha函数设置透明度,但是网格还有,那么加上shading interp。
联系客服