matlab中怎么把几个函数图像画在一个指定的窗口,并且显示他们相交区域

比如抛物面z=x^2+y^2与平面x+y+z=1截成一椭圆,画出图并显示椭圆截面,... 比如抛物面z=x^2+y^2与平面x+y+z=1截成一椭圆,画出图并显示椭圆截面, 展开
 我来答
百度网友b5bed51
2014-04-16 · TA获得超过469个赞
知道小有建树答主
回答量:210
采纳率:100%
帮助的人:57.3万
展开全部

不管你用什么画图命令, 二维的plot也好, 三维的surf 、mesh也好,只要执行hold on命令就可以画在同个figure里面。


clear;clc; close all

a=-2:0.05:2;

b=-2:0.05:2;  

%给出a,b就确定了一个矩形平面

[x,y]=meshgrid(a,b);

z1=x.^2+y.^2;

mesh(x,y,z1);%抛物面z=x^2+y^2;

hold on

z2=1-x-y;

mesh(x,y,z2);%平面x+y+z=1



点击“手” 旁边的旋转箭头按钮,可以旋转图像观察



如果你还要显示相交的矩形区域,用下面的代码:

clear;clc; close all

a=-2:0.05:2;

b=-2:0.05:2;  

%给出a,b就确定了整个矩形区域

[x,y]=meshgrid(a,b);

%抛物面z=x^2+y^2

z1=x.^2+y.^2;

figure;

mesh(x,y,z1);

hold on

%平面x+y+z=1

z2=1-x-y;

mesh(x,y,z2);

figure;

[m n]=size(z1);

c=1;

for i=1:m

    for j=1:n

        if(z1(i,j)<z2(i,j))

            x3(c)=x(i,j);

            y3(c)=y(i,j);

            z3(c)=z2(i,j);

            c=c+1;

        end

    end

end

plot3(x3,y3,z3)%显示相交的矩形平面

zlim([-4,8])

grid on

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式