By default,we can use Matlab to plot a cylinder using surf command. This is what I've tried so far:
[x,y,z]=cylinder(10);
surf(x,y,z)
the result came out is a blue cylinder with radius 10. how do i change the colour and height in this case?

 採用された回答

Jan
Jan 2011 年 5 月 27 日

2 投票

[x,y,z] = cylinder(10);
z(2, :) = 10;
surf(x,y,z, 'FaceColor', [1,0,0]);

4 件のコメント

Cheng Yoong
Cheng Yoong 2011 年 5 月 27 日
What does this line means?
z(2, :)=10;
Todd Flanagan
Todd Flanagan 2011 年 5 月 27 日
assign all of the elements in row 2 the value 10
Cheng Yoong
Cheng Yoong 2011 年 5 月 27 日
Is it possible to plot the cylinder horizontally?
If possible can you show me how?
Jan
Jan 2011 年 5 月 27 日
@Cheng: You can try it by your self. "z(2, :)=10; disp(z); z(2, :)=3; disp(z)".
What about "surf(x,z,y)" or "surf(z,y,x)"?

サインインしてコメントする。

その他の回答 (4 件)

Walter Roberson
Walter Roberson 2011 年 5 月 27 日

0 投票

The simplest way to plot horizontally might be to change the viewpoint and relabel the axes :)
Otherwise you might need to create an hgtransform() that does a rotation and parent the surface to it using surf(x,y,z,'Parent',TheHGHandle)
Patrick Kalita
Patrick Kalita 2011 年 7 月 13 日

0 投票

Here's how you would do it with an hgtransform and makehgtform:
% Make the hgtransform and the surface; parent the surface to the hgtransform
[x,y,z] = cylinder(10);
h = hgtransform;
surf(x,y,z, 'Parent', h, 'FaceColor', 'r');
view(3)
% Make it taller
set(h, 'Matrix', makehgtform('scale', [1 1 10]))
% Tip it over and make it taller
set(h, 'Matrix', makehgtform('xrotate', pi/2, 'scale', [1 1 10]))
Tomasz
Tomasz 2021 年 11 月 7 日

0 投票

k=0:0.2:1;
[X,Y,Z]=cylinder(k,3);
figure
surf(X(1:2,:),Y(1:2,:),Z(1:2,:),'facecolor',[0,0,1])
hold on
surf(X(2:3,:),Y(2:3,:),Z(2:3,:),'facecolor',[0 ,0.4470, 0.7410])
surf(X(3:4,:),Y(3:4,:),Z(3:4,:),'facecolor',[0,1,1])
surf(X(4:5,:),Y(4:5,:),Z(4:5,:),'facecolor',[1,1,0])
surf(X(5:6,:),Y(5:6,:),Z(5:6,:),'facecolor',[1,0,0])
hold off

カテゴリ

タグ

質問済み:

2011 年 5 月 27 日

回答済み:

2021 年 11 月 7 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by