了解气缸功能的输出

时间:2014-11-17 18:01:42

标签: matlab

我正在使用matlab的柱面功能,即 [X,Y,Z] =汽缸(半径);

但是X,Y,Z的值包含两行。

有人可以解释为什么两行即将到来。 row = 1表示什么,row = 2表示什么。

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

给予:

enter image description here

其中两个平面(即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):

enter image description here

答案 1 :(得分:0)

圆柱面不是函数,因此每个(X,Y)对对应不同的Z值(在您的情况下为0和1)。如果你看一下你得到的值,你会注意到对于X和Y,你在两行中获得相同的数据,对于Z你会得到不同的行。