matlab软件画图问题

matlab软件画图问题,第1张

首先,你要装个MATLAB软件,一般的都能用,我同学说有个汉化版的,我还没去拷。
输入命令:
x=-5:02:5;
z=-5:02:5;
[X,Z]=meshgrid(x,z);
Y=XX+ZZ;
ii=find(XX+ZZ>4);
Y(ii)=NaN;
surf(X,Y,Z);
hold on
Y1=4X^2;
jj=find(4X^2>4);
Y1(jj)=NaN;
surf(X,Y1,Z);
axis([-5,5,0,2,-5,5]);
xlabel('x轴');
ylabel('y轴');
zlabel('z轴')
即可

以绘制抛物面y=x^2+z^2为例
x=linspace(-5,5);

z=linspace(-5,5);

[X,Z]=meshgrid(x,z); %相当于x,z做了一个笛卡尔积,只不过笛卡尔积(x,z)是一个二元组;而X中每一项取了笛卡尔积的每一项(x,z)的第一个分量,Z中每一项取了笛卡尔积的每一项(x,z)的第二个分量

Y=X^2+Z^2;%相当于X矩阵和Z矩阵做了element-wise的运算得到新的矩阵Y

mesh(X,Y,Z);%相当于X,Y,Z矩阵中的相应元素绘制到三维空间中,遍历之后就得到了“温度图”

不知你是光要画图呢还是要进行计算他们的交线就是位于z=2的平面上半径为2的一个圆,给你花了一个,你看看吧:clear all;clc;zz=@(x,y)(x^2+y^2)/2;ezsurf(zz,[-3,3,-3,3]);hold on;[x0,y0,z0]=sphere(60);r=2sqrt

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

clear;clc; close all

a=-2:005:2;

b=-2:005: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:005:2;

b=-2:005: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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12808113.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存