extracting a 2d plane from a 3d surface plot

6 次查看(过去 30 天)
Hi guys, sorry if this is an easy question but I'm new to matlab. I've done a surface plot with two 3-d planes in it. I have vectors x.dat and y.dat, and the 2 by 2 matrices z1.dat and z2.dat. I can plot both of these surfaces on one figure by
load x.dat
load y.dat
load z1.dat
load z2.dat
hold on;
surf(x,y,z1,'FaceColor',[1 0 0],...
'EdgeColor',[1 0 0]);
surf(x,y,z2,'FaceColor',[0 0 1],...
'EdgeColor',[0 0 1]);
hold off;
This plots z1 and z2 nicely in 3d space with one of them blue and the other red. What I'd like to do is plot the plane z=0, to show the intersection of z1 and z2 in the x-y plane at z=0. Is this possible to do with matlab? Thanks in advance for any suggestions.

采纳的回答

Richard Brown
Richard Brown 2012-4-21
How about
contour(x, y, z1-z2, [0 0])
?
  2 个评论
Paul B
Paul B 2012-4-21
Ah ok! I'm such a newb I didn't know about that command. Actually this didn't quite work, it only plotted the zeros of z2, but
hold on;
contour(x, y, z1, [0 0],'EdgeColor',[1 0 0]);
contour(x, y, z2, [0 0],'EdgeColor',[0 0 1]);
hold off
does exactly what I wanted. Thanks for your help! It looks great :P
Richard Brown
Richard Brown 2012-4-21
Cool, sorry -- I read your question a bit fast! Glad you got it sorted

请先登录,再进行评论。

更多回答(1 个)

Richard Brown
Richard Brown 2012-4-21
Plotting the plane is pretty easy
surf(x, y, zeros(size(x))
You can adjust colour, edgecolor, transparency etc if you want. Is that what you were after?
  1 个评论
Paul B
Paul B 2012-4-21
Sorry, not really! The data x and y are just linearly spaced, ie. [x]=[1,2,...N], [y]=[1,2,...N], and the matrices z1 and z2 contain all the function information. So if I plot what you suggested, all I get is the flat plane z=0, which is not what I'm after; probably due to my poor explanation!
Basically there are certain x,y values which give z1=z2=0. I want to plot those values in the x-y plane. You can kind of see it if you set (using axis properties) a very small range like z=-0.01 to z=0.01 and then view from a birdseye perspective. But I was wondering if there's a way to extract the x-y plane for some value of z.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by