How to fill the space between two surfaces?

4 views (last 30 days)
If f1(x,y)≤z≤f2(x,y), how to draw the range of z? If the upper and lower limits of z are described by separate functions, how to plot the range of the z function in the direction of the z-axis instead of two surfaces?
x=-5:0.1:5;
y=-5:0.1:5;
[XX,YY]=meshgrid(x,y);
for m=1:101
for n=1:101
z1(m,n)=x(m)^2+y(n)^2;
z2(m,n)=3*x(m)^3+y(n)^2+1;
plot3([XX(m,n) XX(m,n)],[YY(m,n) YY(m,n)],[z1(m,n) z2(m,n)])
hold on
end
end
hold on
The code to draw only 2 surfaces is given here.
x=-5:0.1:5;
y=-5:0.1:5;
for m=1:101
for n=1:101
z1(m,n)=x(m)^2+y(n)^2;
z2(m,n)=3*x(m)^3+y(n)^2+1;
end
end
surf(x,y,z1,"EdgeColor","none")
hold on
surf(x,y,z2,"EdgeColor","none")
  1 Comment
Torsten
Torsten on 13 Sep 2024
But you will see nothing "behind" the planes x = -5 and y = -5. So does it really make sense what you want to do ?

Sign in to comment.

Accepted Answer

Taylor
Taylor on 13 Sep 2024
If you are looking to plot the volume of filled space between the two surfaces, I believe this post has the answer you're looking for.

More Answers (0)

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!