• Matlab绘图


    一、二维图形

    先来简单试一下昨天搭建的开发环境,真心好用。
    在这里插入图片描述

    1. plot函数

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

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

    3. plot还可以接受第三个参数来控制图像的样式
      参数参考
      来自matlab官方的说明

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

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

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

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

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

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

      在这里插入图片描述

    9. 线条属性修改

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

    更多功能随时查阅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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    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)') 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    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]。

    R:是一描述柱面母线的向量; N:是旋转柱面上的分割线条数; [X,Y,Z] :是返回的x,y,z坐标向量。 绘制一个柱面。

    4. 球面图

    球面的表达sphere调用格式为:

    [X,Y,Z]=sphere(N):产生一个( N+1)×( N+1)的矩阵,然后用函数 surf 命令绘制一个单位的球面,N
    为设置分割线的条数; [X,Y,Z] = sphere:缺省 N = 20。

  • 相关阅读:
    Spring Boot 热部署与日志
    分享一下做一个电商小程序可以实现什么功能
    ChatGPT是否可以用于虚拟心理治疗和心理健康支持?
    注意分类讨论完整性:CF1371F
    Python实践项目——LSB隐写术
    Selenium自动化测试框架工作原理你明白了吗?
    毕业设计-基于机器视觉的手写字识别系统
    gitlib api 查找和使用
    分布式下session共享问题(redis + springsession)
    LeetCode669. Trim a Binary Search Tree
  • 原文地址:https://blog.csdn.net/m0_66711291/article/details/125617030