How to fill the space between two surfaces?

4 次查看(过去 30 天)
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 个评论
Torsten
Torsten 2024-9-13
But you will see nothing "behind" the planes x = -5 and y = -5. So does it really make sense what you want to do ?

请先登录,再进行评论。

采纳的回答

Taylor
Taylor 2024-9-13
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.

更多回答(0 个)

类别

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

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by