matlab三维绘图

您所在的位置:网站首页 matlab画三维函数图像 matlab三维绘图

matlab三维绘图

2024-06-26 20:01| 来源: 网络整理| 查看: 265

三维绘图即包含三个变量,通常分为两种:

1)一个独立变量t,两外两个变量x,y随t变化。比如曲线的参数方程描述

2)两个独立变量x,y,第三个变量z随x,y变化。比如z=x^2+y^2

三维绘图函数主要有plot3、mesh、surf、contour,此外还有一些辅助函数meshgrid、alpha等

 1.plot3

plot3主要用于三维线绘图,和plot基本一样,区别就是plot3每个点由x,y,z决定,而plot每个点由x,y决定。

t=0:0.1:10; x=cos(2*t); y=sin(2*t); plot3(x,y,t);

2.mesh、surf、contour

mesh、surf、contour分别用于三维曲面、网格和等高线绘

函数名说明mesh(X,Y,Z)创建网格或线框绘图。X,Y,Z均为2维数据。surf(X,Y,Z)创建曲面绘图。X,Y,Z均为2维数据。contour(X,Y,Z)创建等高线绘图。X,Y,Z均为2维数据。

这里需要说下x,y,z。以z=x^2+y^2为例,如果x取-1,0,1三个数,y取-2,-1,0,1,2 五个数,z根据x,y取值计算。

对于上述三个作图函数,X,Y,Z为5*3矩阵数据,矩阵的行数由y的取值个数决定,矩阵的列数由x的取值个数决定。(此处的X,Y,Z不是上面曲线方程的x,y,z,是上面三个作图函数的输入)

X每一列相同,并且包含-1,0,1三个取值

    -1     0     1     -1     0     1     -1     0     1     -1     0     1     -1     0     1

Y每一行相同,并且包含-2,-1,0,1,1五个取值

    -2    -2    -2     -1    -1    -1      0     0     0      1     1     1      2     2     2

Z根据z=x^2+y^2,遍历x,y取值计算即可,同样为5*3矩阵

     5     4     5      2     1     2      1     0     1      2     1     2      5     4     5

此时我们将X,Y,Z作为surf,mesh,contour输入作图。

代码如下:代码中我们使用了meshgrid函数,由x,y(向量)得到X,Y(二维矩阵),这个过程自己编程得到也是可以的,用循环或者矩阵赋值repmat都可以(注释掉了的部分)。

x=-1:1:1; y=-2:1:2; [X,Y]=meshgrid(x,y); % X=repmat(x,length(y),1); % Y=repmat(y',1,length(x)); Z=X.^2+Y.^2; figure(1) subplot(311) surf(X,Y,Z); title('网格绘图') subplot(312) mesh(X,Y,Z); title('曲面绘图') subplot(313) contour(X,Y,Z); title('等高线绘图')

结果如下

最后有一个alpha(value)函数用来调整透明度,value在0-1之间,value为0为全透明,为1完全不透明。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3