• Matlab通信仿真系列——图形处理函数


    微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等
    在这里插入图片描述
    本节目录

    一、plot函数
    (1)绘制一条曲线
    (2)在同一副图里绘制多条曲线
    (3)以不同颜色与线性表示不同的曲线
    二、subplot函数
    三、figure命令
    四、hold命令
    (1)未使用hold命令
    (2)使用hold命令
    五、对数坐标图形
    六、Matlab源码
    (1)plot函数源码
    (2)subplot函数源码
    (3)figure命令源码
    (4)hold命令源码
    (5)对数坐标图形源码
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    本节内容
    Matlab的图形处理和数据可视化
    一、plot函数
    (1)绘制一条曲线
    函数格式:plot(x,y),其中x和y为坐标矢量
    函数功能用于:以矢量x、y为轴,绘制曲线
    (2)在同一副图里绘制多条曲线
    plot(x,y1,x,y2,x,y3)
    以公共矢量x为x轴,分别以y1,y2,y3为y轴,在同一副图内绘制多条曲线
    (3)以不同颜色与线性表示不同的曲线
    plot(x,y1,‘cs’)
    c表示颜色,s表示线形
    g表示绿色,b表示蓝色
    o表示图形线形为圆圈,-表示图形线形为点画线
    title用来说明图形的名称
    xlabel用来说明横坐标代表的参数含义
    ylabel用来说明纵坐标代表的参数含义
    text是在图形的特定位置添加注释
    grid on——图形显示坐标网格
    grid off——图形不显示坐标网格
    legend——给图形加图例命令
    在这里插入图片描述
    在这里插入图片描述

    二、subplot函数
    subplot(m,n,p)命令将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前绘图区
    在这里插入图片描述
    在这里插入图片描述

    三、figure命令
    figure命令,可以建立多个图形窗口,绘制并保持每一个窗口的图形。
    每执行一次figure命令,创建一个新的图形窗口,该窗口自动为活动窗口。
    可以通过操作返回该窗口的识别号码,即句柄。
    句柄显示在图形窗口的标题栏中,即图形窗口标题。
    用户可通过句柄激活或关闭某图形窗口。
    xlabel、title等命令只对活动窗口有效。
    在这里插入图片描述
    在这里插入图片描述

    四、hold命令
    使用图形保持命令hold,在使用plot函数画图时,可以在已存在图形窗口中继续使用plot命令添加新的图形内容
    (1)未使用hold命令
    在这里插入图片描述
    在这里插入图片描述

    (2)使用hold命令
    在这里插入图片描述
    在这里插入图片描述

    五、对数坐标图形
    通信系统仿真中,常常需要绘制对数坐标图形。
    各种信道中误码率随信噪比的变化曲线,纵坐标误码率一般采用对数坐标。
    loglog(x,y)——双对数坐标,横坐标和纵坐标都采用x,y的对数
    semilogx(x,y)——单对数x坐标,横坐标采用x的对数
    semilogy(x,y)——单对数y坐标,横坐标采用y的对数
    在这里插入图片描述
    在这里插入图片描述

    六、Matlab源码
    (1)plot函数源码

    %以0为初始值,pi/100为步长,2*pi为结束值生成矢量x
    x=0:pi/100:2*pi;
    y1=sin(x);
    y2=cos(x);
    %c表示颜色,s表示线形
    %g表示绿色,b表示蓝色
    %o表示图形线形为圆圈,-表示图形线形为点画线
    plot(x,y1,'go',x,y2,'b-');
    %title用来说明图形的名称
    title('sinx,conx曲线');
    %xlabel用来说明横坐标代表的参数含义
    xlabel('时间');
    %ylabel用来说明纵坐标代表的参数含义
    ylabel('振幅');
    %text是在图形的特定位置添加注释
    text(x(150),y1(150),'sinx曲线');
    text(x(150),y2(150),'cosx曲线');
    %显示坐标网格
    grid on
    %图例说明
    legend('sinx','cosx');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    (2)subplot函数源码

    %以0为初始值,pi/100为步长,2*pi为结束值生成矢量x
    x=0:pi/100:2*pi;
    y1=sin(x);
    y2=cos(x);
    y3=sin(2*x);
    y4=cos(2*x);
    %整个绘图区分为2*2区域
    %制定当前绘图区为1号绘图区
    subplot(2,2,1);
    plot(x,y1);
    title('sinx');
    %制定当前绘图区为2号绘图区
    subplot(2,2,2);
    plot(x,y2);
    title('cosx');
    %制定当前绘图区为3号绘图区
    subplot(2,2,3);
    plot(x,y3);
    title('sin2x');
    %制定当前绘图区为4号绘图区
    subplot(2,2,4);
    plot(x,y4);
    title('cos2x');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    (3)figure命令源码

    %以0为初始值,pi/100为步长,2*pi为结束值生成矢量x
    x=0:pi/100:2*pi;
    y1=sin(x);
    y2=cos(x);
    y3=sin(2*x);
    y4=cos(2*x);
    %创建窗口并返回句柄到变量H1
    H1=figure;
    plot(x,y1);
    title('sinx');
    %创建窗口并返回句柄到变量H2
    H2=figure;
    plot(x,y2);
    title('cosx');
    %创建窗口并返回句柄到变量H3
    H3=figure;
    plot(x,y3);
    title('sin2x');
    %创建窗口并返回句柄到变量H4
    H4=figure;
    plot(x,y4);
    title('cos2x');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    (4)hold命令源码

    %以0为初始值,pi/100为步长,2*pi为结束值生成矢量x
    x=-2*pi:pi/100:2*pi;
    y1=sin(x);
    y2=cos(x);
    
    plot(x,y1,'b-');
    title('sinx和cosx图形');  %该语句必须在plot之后
    hold on;
    plot(x,y2,'g--');
    hold off;
    legend('sinx','conx');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    (5)对数坐标图形源码

    %以0为初始值,pi/100为步长,2*pi为结束值生成矢量x
    x=0:pi/100:2*pi;
    y=abs(500*(sin(2*x)+cos(x)))+1;
    
    %双坐标对数
    loglog(x,y);
    title('x,y轴对数')
    
    %单坐标x对数
    figure;
    semilogx(x,y);
    title('x轴对数')
    
    %单坐标y对数
    figure;
    semilogy(x,y);
    title('y轴对数')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
  • 相关阅读:
    python编程:使用 Pillow 将照片转换为1寸报名照片
    正则表示式——6.处理比较复杂的正则表示法
    JSD-2204-(业务逻辑开发)-发酷鲨商城front模块-开发购物车功能-Day09
    【Java】对象的实例化
    最长回文子串
    八、MySql表的复合查询
    阿里云CentOS环境之docker安装,启动,加速器,docker-compose(十四)
    入门人工智能 —— 使用 Python 进行文件读写,并完成日志记录功能(4)
    垃圾回收系统小程序
    CentOS 7 更新阿里源;CentOS 7更新yum源为阿里源;解决File contains no section headers.错误问题
  • 原文地址:https://blog.csdn.net/m0_50111463/article/details/134460880