第二篇--MATLAB图形可视化(一)

梦想的初衷 提交于 2020-02-05 19:57:16

1.二维平面图形与坐标系

1.1 线性坐标曲线plot

  • 它是一个线性绘图函数,可以生成线段,曲线和参数方程曲线的函数图像。
  • 命令格式:plot(x,y)或者plot(x1,y1,x2,y1,…)
  • 示例:绘制正弦余弦函数。
 x=0:0.01:2*pi;
 y=[sin(x);cos(x)]; 
 plot(x,y)  

在这里插入图片描述

1.2二维函数曲线fplot

  • 专门用于绘制函数y=f(x)图像,数据点是自适应产生的,可以用fplot函数绘出导数变化大的函数图像。
  • 命令格式:[X,Y]=fplot(‘fun’,lims)
  • fun:函数名字符串;
  • lims:定义x的取值区间,lims=[xmin,xmax].
  • 线型与颜色
    常用的的线段,颜色与标记参数
颜色 线型 顶点标记
符号 含义 符号 含义 符号 含义 符号 含义
b 蓝色 - 实线 . 实点标记 Λ\Lambda 朝上三角符
g 绿色 虚线 o 圆圈标记 < 朝左三角符
r 红色 -. 点划线 X 叉字符标记 > 朝右三角符
c 青色 - - 双划线 + 加号标记 p 五角星符
m 洋红 * 星号标记 h 六角形符
y 黄色 s 方块标记
k 黑色 d 菱形标记
w 白色 v 朝下三角符
  • 调用格式:plot(x,y,s),s为类型说明参数,s字符串可选如上三种类型符号之一或者组合形式。
  • 实例
t1=0:0.1:2*pi;
t2=0:0.1:6; 
y1=sin(t1);  
y2=sqrt(t2);       
plot(t1,y1,':hb',t2,y2,'--g') 

在这里插入图片描述

1.3图像窗口分割subplot

  • 实现在同一个窗口中同时显示多个图像的命令
  • 命令格式:subplot(m,n,i),将图形窗口分割为m行n列子窗口,i为当前窗口。
  • 示例;窗口分割
subplot(2,2,1)  
t=0.1:0.1:2*pi;  
y=sin(t);  
semilogx(t,y)  
grid on   
subplot(2,2,2)  
t=0:0.1:4*pi;  
y=sin(t);  
plot(t,y) 
subplot(2,2,3)  
x=1:0.01:5;  
y=exp(x);  
plotyy(x,y,x,y,’semilogx’,’plot’)   
subplot(2,2,4)  
x=1:0.1:10;  
y=sqrt(x);  
plot(x,y,:rd’) 

在这里插入图片描述

1.4坐标系调整

  • 实现坐标系的调整的命令是 axis 函数
  • 命令格式: axis([xmin,xmax,ymin,ymax,zmin,zmax])
  • 示例:坐标系调整,
subplot(2,1,1)  
t=0:0.1:4*pi;  
y=sin(t);  
plot(t,y)   
subplot(2,1,2)  
t=0:0.1:4*pi;  
y=sin(t);  
plot(t,y)  
axis([0,max(t),min(y),max(y)])  

在这里插入图片描述

2.三维绘图命令

2.1三维曲线绘图plot3

  • 用来表现单参数的三维曲线。
  • 命令格式:plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,…)
  • Xn、Yn、Zn:第一到三维数据,是尺寸相等的向量/矩阵;
  • s、s1、s2:是字符串,用来设置线型、颜色、数据点标记。
  • 示例:x,y,z为矩阵。
[X,Y]=meshgrid(-pi:0.1:pi);%生成网格点矩阵 
Z=sin(X)+cos(Y);  
plot3(X,Y,Z)  

在这里插入图片描述

2.2三维曲面绘图命令

2.2.1 平面网格点生成

  • 函数命令meshgrid 用来生成 x-y 平面上的网格点矩阵, 将由两个向量决定的区域转换为对应的网格点矩阵
  • 命令格式:[X,Y]=meshgrid(x,y) 或者 [X,Y]=meshgrid(x) 等价于[X,Y]=meshgrid(x,x)
  • 参数含义如下:
  • x:是区间[x0,xm]上分划的向量;
  • y:是区间[y0,yn]上分划的向量;
  • X,Y:输出变量矩阵,矩阵 X 的行向量都是向量 x,矩阵 Y 的列向 量都是向量 y。
  • 示例:
[X,Y] = meshgrid(-2:2:2, -2:2:2);  
[X,Y]       %将划分结果输出至矩阵  
ans =          
-2          0          2        -2        -2        -2  
-2          0          2         0          0          0          -2          0          2         2          2          2

2.2.2 三维网格命令mesh

  • 命令格式:
  • mesh(X,Y,Z,C):X、Y、Z、C 是同维数的矩阵,X、Y、Z 对 应空间上的网格点,网格线颜色由C决定;
  • mesh(X,Y,Z):相当于上面的 C=Z 的情况;
  • mesh(x,y,Z,C):x 和 y 是向量,Z 和 C 是同维数的矩阵,网格 曲面的网格顶点是( x(j),y(i),Z(i,j)),网格线的颜色由矩阵 C 决 定;
  • mesh(x,y,Z):相当于上面的 C=Z 的情况;
  • mesh(Z,C):等价于 mesh(x,y,Z,C),此时向量x=1:n,向量 y=1:m;
  • mesh(Z):相当于上面的 C=Z 的情况
  • mesh(…,’PropertyName’,PropertyValue,…):给函mesh设置曲面属性。
  • 示例:
 [X,Y] = meshgrid(-2:2:2, -2:2:2);
 Z = X .* exp(-X.^2 - Y .^2);    
 mesh(Z) 

在这里插入图片描述

2.2.3 三维表面命令surf

  • 函数 surf 可实现对网格曲面片进行着色,将网格曲面转化 为实曲面。
  • 命令格式:surf(z)
  • 示例;
z=peaks;      %绘制山峰的图像,将函数值赋予变量z  
surf(z)          %对山峰的图像进行着色处理 
shading interp  %函数 shading 改变着色方式 

在这里插入图片描述

3.总结

MATLAB二维及三维绘图的学习分享就到这儿,下一篇即将说到等高线图形绘制及控制图形可视化的效果,敬请期待,如有错误,不吝赐教。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!