Matlab绘图

发布时间:2023-01-01 11:30

一、二维图形

先来简单试一下昨天搭建的开发环境,真心好用。
Matlab绘图_第1张图片

1. plot函数

  1. plot函数可以接受一个函数,可以绘制出该函数的图像

  2. plot函数接受两个参数第一个参数作为横坐标,第二个参数作为纵坐标,就收的参数可以是相同长度的数组。

  3. plot还可以接受第三个参数来控制图像的样式
    参数参考
    Matlab绘图_第2张图片

  4. 也可以写入多组x和y分别设置样式。

    plot(x,y1,'g',x,y2,'b--o',x,y3,'c*')
    
  5. 添加标记时需要跟上第四个参数,说明在哪些位置添加标记

    plot(x,y,'-o','MarkerIndices',1:5:length(y))
    
  6. 线宽标记大小和标记颜色的设置

    plot(x,y,'--gs',...
        'LineWidth',2,...
        'MarkerSize',10,...
        'MarkerEdgeColor','b',...
        'MarkerFaceColor',[0.5,0.5,0.5])
    
  7. 添加标题和轴标签

    	plot(x,y,'Color',[0,0.7,0.9])
    
    	title('2-D Line Plot')
    	xlabel('x')
    	ylabel('cos(5x)')
    
  8. 时间刻度格式

    	t = 0:seconds(30):minutes(3);
    	y = rand(1,7);
    	
    	plot(t,y,'DurationTickFormat','mm:ss')
    

    Matlab绘图_第3张图片

  9. 线条属性修改

    p(1).LineWidth = 2;
    p(2).Marker = '*';
    

更多功能随时查阅matlab官方教程-plot函数

2. 多窗口

使用subplot(m,n,i),其含义为

把图形窗口分割为 m 行 n 列子窗口,然后选定第 i 个窗口为当前窗口。 subplot 命令不仅用于二维图形,对三维图形一样适用。其本质是将 figure 窗口分为几个区域,再在每个区域内分别绘图。

subplot(2,2,1)
t=0.1:0.1:4*pi;
y=sin(t);
semilogx(t,y,'linewidth',2)
grid on
set(gca,'FontSize',15)

subplot(2,2,2)
t=0:0.1:4*pi;
y=sin(t);
plot(t,y,'linewidth',2)
set(gca,'FontSize',15)

subplot(2,2,3)
x=1:0.01:5;
y=exp(x);
plot(x,y,'linewidth',2)
set(gca,'FontSize',15)

subplot(2,2,4)
x=1:0.1:10;
y=sqrt(x);
plot(x,y,'-','linewidth',2)
set(gca,'FontSize',15)
axis tight

3. 坐标系调整

使用axis函数

axis([xmin,xmax,ymin,ymax,zmin,zmax])
坐标的最小值( xmin,ymin,zmin)必须小于相应的最大值( xmax,ymax,zmax).

4. 其他绘图函数

slot用于绘制线图,下面还有一些其他类型的绘图函数,拥有各自的调用格式和属性配置,用到的时候查一下就可以。

函数名 类型
bar 垂直柱状图
stairs 阶梯图
errorbar 误差条形图
polarplot 极坐标图
stem 针状图
scatter 散点图

二、三维图形

1. plot3

调用格式为plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,…)

参数的含义如下: X1, Y1,Z1:第一到三维数据,是尺寸相等的向量/矩阵; s、s1、s2:是字符串,用来设置线型、颜色、数据点标记。 x、y、z 是向量时,plot3 命令的使用

    t=0:0.1:8*pi; 
    plot3(sin(t),cos(t),t)
    title('绘制螺旋线') 
    %用命令 title 对图形主题进行标注 
    xlabel('sin(t)')         
    ylabel('cos(t)') 

2. mesh

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。
函数 meshgrid 将由两个向量决定的区域转换为对应的网格点矩阵。

mesh用来绘制三维曲面,生成的是网格曲面

  1. mesh(X,Y,Z,C):X、Y、Z、C 是同维数的矩阵,X、Y、Z 对应空间上的网格点,网格线颜色由C决定;
  2. mesh(X,Y,Z):相当于上面的 C=Z 的情况;
  3. mesh(x,y,Z,C):x 和 y 是向量,Z 和 C 是同维数的矩阵,网格曲面的网格顶点是( x(j),y(i),Z(i,j)),网格线的颜色由矩阵 C 决定;

surf也可以绘制三维曲面,生成的是完整的面
调用方式和mesh相同

3. 柱面图

  • [X,Y,Z] = cylinder(R,N);
  • [X,Y,Z] = cylinder(R):缺省值 N=20;
  • [X,Y,Z] =cylinder :缺省值 N=20,R=[1,1]。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号