我正在使用matlab的柱面功能,即 [X,Y,Z] =汽缸(半径);
但是X,Y,Z的值包含两行。
有人可以解释为什么两行即将到来。 row = 1表示什么,row = 2表示什么。
答案 0 :(得分:2)
为了补充@Eugene的答案,两行确实对应于数据点的可能Z位置。由于半径不随柱面的Z位置而变化,因此只能获得2行。
在半径为常数的简单情况下,如果您分别绘制两行,您可以看到它们代表的内容:
hFig = figure('Visible','off')
[x,y,z]=cylinder(5);
set(hFig,'Visible','on')
plot3(x(1,:),y(1,:),z(1,:))
hold on
plot3(x(2,:),y(2,:),z(2,:),'-r')
hold off
给予:
其中两个平面(即z位置)具有不同的颜色。
但是,让我们考虑以下几点,其中气缸的z位置更复杂:
t = 0:pi/10:2*pi;
figure
[X,Y,Z] = cylinder(2+cos(t));
surf(X,Y,Z)
axis square
然后X,Y和Z将有21行,对应于圆柱的可能Z位置(即length(t) +1
):
答案 1 :(得分:0)
圆柱面不是函数,因此每个(X,Y)对对应不同的Z值(在您的情况下为0和1)。如果你看一下你得到的值,你会注意到对于X和Y,你在两行中获得相同的数据,对于Z你会得到不同的行。