I'm supposed to draw graph of two plane : the picture must look like this :
This is my code and It does not work out :
x = linspace (0,1,20);
z = linspace (0,1,20);
[x z]= meshgrid(x,z);
y = sqrt(x) + 0*z;
hold on ;
xlabel('x','FontSize',20);
ylabel('y','FontSize',20);
zlabel('z','FontSize',20);
surf(x,y,z,'FaceColor','b','FaceAlpha',0.5,'EdgeColor','none');
x = linspace (0,1,20);
y = linspace (0,1,20);
[x y]= meshgrid(x,y);
z = 1 - y + 0*x;
zlim = ([ 0 1] );
hold on ;
surf(x,y,z,'FaceColor','b','FaceAlpha',0.3,'EdgeColor','none');
I hope you guys could help me to solve this problem
Thank you !

 채택된 답변

Tommy
Tommy 2020년 4월 24일

0 개 추천

One option is to set x, y, and z values to NaN if they do not fall in the appropriate region:
[x1, z1] = meshgrid(linspace(0,1,500));
y1 = sqrt(x1);
[x2, y2] = meshgrid(linspace(0,1,500));
z2 = 1 - y2;
i1 = y1+z1>1;
i2 = y2<sqrt(x2);
x1(i1) = NaN;
y1(i1) = NaN;
z1(i1) = NaN;
surf(x1,y1,z1,'FaceColor','b','FaceAlpha',0.5,'EdgeColor','none');
hold on;
x2(i2) = NaN;
y2(i2) = NaN;
z2(i2) = NaN;
surf(x2,y2,z2,'FaceColor','b','FaceAlpha',0.3,'EdgeColor','none');
view([120 30])
zlim([0 1.5]);
ylim([0 1.5]);
xlim([0 1.5]);
xlabel('x','FontSize',20);
ylabel('y','FontSize',20);
zlabel('z','FontSize',20);

댓글 수: 2

Duong Nguyen
Duong Nguyen 2020년 4월 24일
Thank you Tommy :)
Tommy
Tommy 2020년 4월 24일
Happy to help!

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

제품

질문:

2020년 4월 24일

댓글:

2020년 4월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by