我希望有一个二维彩色地图,下面的代码,但它一直让我回复这个错误,任何人都可以帮助我
x = 0:100:600;
z = 0:100:600;
[X,Z] = meshgrid(x,z);
for z2 = 3:5;
for x2 = 3:5
E1 = Z(z2);
E2 = X(x2);
E = E1 +E2;
end
end
figure;
surf(X,Z,E,'EdgeColor','None');
view(2);
xlabel('x','fontsize',20);
ylabel('z','fontsize',20);
colormap jet;
答案 0 :(得分:1)
每个E
和X
条目都需要Z
条目才能拥有有效的表面,因为您需要" height"对于每个x / y位置。
在您的示例中,E
只是一个标量,而X
和Z
包含许多值。您似乎想要做类似的事情:
E = Z + X;
surf(X, Z, E, 'EdgeColor', 'none')
如果你想要一个给定高度的平面(E
),那么将Z
作为一个矩阵,其中所有值都等于E
。
surf(X, Z, zeros(size(X)) + E, 'EdgeColor', 'none')
如果您只想绘制子集,可以执行以下操作:
[X, Z] = meshgrid(x(3:5), z(3:5));
surf(X, Z, X + Z, 'EdgeColor', 'None')