|
matlab中画三维图有两种方式:
x=0:1:400;
y=0:1:350;
[x1,y1]=meshgrid(x,y);
xx=[204 180 150 152 90 106 126 156 180 180 156 106 120 170 156 120 106 132 180 90 86 110 56 12.5 112 85 198 176 198 300 205 220 115 278 227 278 180 270 228 260 255 255 270 213 230 305 350 337 324];
yy=[135 95 88 62.5 62.5 50 37.5 37.5 37.5 13 122 118 102 140 160 145 152 164 195 178 199 220 228 240 255 276 240 259 262 308 340 255 244 276 202 220 199 180 152 145 133 115 88 115 25 122 135 115 86];
pp=[30 40 20 10 24 5 16 38 21 33 69 83 32 15 31 80 12 80 62 12 43 15 75 34 23 31 55 13 70 41 22 93 14 25 46 87 24 51 72 33 64 34 21 84 21 83 18 23 11];
ss=2*10.24^2;
z=pp(1).*exp(-((x1 - xx(1)).^2+(y1 - yy(1)).^2) /ss);
for i=2:49
z=z+pp(i).*exp(-((x1 - xx(i)).^2+(y1 - yy(i)).^2)/ss );
end
mesh(x1,y1,z);
或者:
surfc(x1,y1,z);
都可以。
若果要做平面图,如下代码可以实现:
[c,h]=contour(x,y,z,200); |
|