extracting a 2d plane from a 3d surface plot

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일

1 개 추천

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일

0 개 추천

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.

댓글을 달려면 로그인하십시오.

카테고리

태그

질문:

2012년 4월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by