Plot a 3d-plane in MATLAB??

5 ビュー (過去 30 日間)
Nghia
Nghia 2014 年 5 月 22 日
編集済み: Nghia 2014 年 5 月 26 日
I want to plot a 3d-plane (x=0) in MATLAB, (-2<=y<=2) and limited by the line z=4-y^2. Here's my code :
y=linspace(-2,2,50);
z=4-y.^2;
[Y Z]=meshgrid(y,z);
X=0*Y+0*Z;
mesh(X,Y,Z);
axis tight;
Can you give me any hints???? thank you very much!!
  2 件のコメント
Walter Roberson
Walter Roberson 2014 年 5 月 22 日
編集済み: Walter Roberson 2014 年 5 月 22 日
When you say that the plane is to be limited by that z, and that you want to draw plot it, then what difference is there compared to plotting a single curved line in 3 space?
Nghia
Nghia 2014 年 5 月 22 日
編集済み: Nghia 2014 年 5 月 22 日
I'm not clear what you're trying to ask but the code which I posted plot just a single curved line in 3 space, but what I want is to plot a plane x=0 and limited by both the line z=0 and z=4-y^2 I mean that I want to use to plot a plane surfc(x,y,z)

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

採用された回答

Hugo
Hugo 2014 年 5 月 22 日
This solution is based on patch
y=-2:.01:2;
z=4-y.^2;
numy=length(y);
% Constructing the vertices
V=zeros(numy,3);
for iy=1:numy,
V(iy,:)=[0,y(iy),z(iy)]; % Vertices in the parabola
V(iy+numy,:)=[0,y(iy),0]; % Vertices in the y axis
end
% Constructing faces
F=zeros(numy-1,4); for iy=1:numy-1, F(iy,:)=[iy,iy+1,iy+1+numy,iy+numy]; end
patch('Vertices',V,'Faces',F)
The plot may look like a line. You just need to rotate it and you will see the figure in 3D.
Hope this helps.
  2 件のコメント
Nghia
Nghia 2014 年 5 月 22 日
thank you for your help!
Nghia
Nghia 2014 年 5 月 26 日
編集済み: Nghia 2014 年 5 月 26 日
I have tried your code then I rewrite like this
%code patch('Vertices',V,'Faces',F,'FaceColor',[1 0 0])
but it doesn't change the face's color and it's still black. How can I fix this?

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

タグ

タグが未入力です。

Community Treasure Hunt

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

Start Hunting!

Translated by