Matlab 如何绘制复杂曲线的包络线

如果一条曲线(比如声音波形)波动很大,曲折复杂,可以通过绘制包络线的方式使其更加平滑和清晰。本帮助刚接触matlab不久的新手完成这一过程。

操作方法

  • 01

    处理前后的效果对比,图示为某声波傅里叶变换(fft)后的频谱图。

  • 02

    原数据为横纵坐标为 frequency 和 Amplitude,都是<2048x1 double>的数据,即包含2048个数据点,由 subplot(2,2,1),plot(fr,Am); 绘制而成。

  • 03

    包络线的生成,需要将原数据分成等宽度的小段,每段取一个最高点所对应的横坐标和纵坐标(如图所示)。比如设定每小段的长度为 d = 4 或 8 或 16(或2048的其他约数),然后运行 y=reshape(Amplitude,d,2048/d); y=max(y); x=linspace(0,max(frequency),2048/d); 所得 x 和 y 即为包络线的横纵坐标。

  • 04

    其中关键的函数为 reshape() 和 linspace()。 reshape() 函数重新调整矩阵的行数、列数、维数。reshape(X,m,n) 可以把矩阵 X 调整为 m 行 n 列的矩阵,比如: >> reshape([1 2 3 4 5 6],2,3) ans = 1     3     5 2     4     6 linspace() 用于生产线性矢量。 linspace(a,b,n) 可以生产从 a 到 b 之间共 n 个元素组成的一维数组。比如: >> linspace(1,5,4) ans = 1.0000    2.3333    3.6667    5.0000

(0)

相关推荐

  • matlab绘制的曲线怎么设置线条类型和颜色?

    matlab中绘制的曲线想要将实线变成虚线和星线并改变线条的颜色,该怎么操作呢?下面我们就来看看详细的教程. 1.下面将以一个简单的绘图操作为例.绘制0到2*pi范围内的正弦余弦函数,默认的图形是实线 ...

  • 如何在matlab中绘制各种颜色的曲线

    有时候需要比较两个或者多个不同的函数曲线,为了让它们很容易从图中分辨出来,可以为它们设置不同的颜色.matlab可以很容易做到这一点. 操作方法 01 matlab中绘制一般曲线的命令是plot,该命 ...

  • 如何用matlab绘制极坐标曲线

    极坐标曲线与平面曲线不同,主要通过半径与角度来绘制曲线.matlab可以很容易创建极坐标曲线. 操作方法 01 在matlab中绘制极坐标曲线的命令是polar,命令简单,用法多样. 02 首先使用该 ...

  • MATLAB怎么绘制二维曲线图三维图和子图

    为直观表达MATLAB运算结果或将程序运行结果可视化,GUI界面是一种表达方法,包括表格图形控件等,简单点的话,在m文件中编程绘图,将结果图形显示.下面分享给大家MATLAB绘制二维曲线图.三维图.一 ...

  • 如何改变ChemBioDraw笔工具绘制的曲线

    ChemBioDraw笔工具是用于绘制模板中没有的特殊箭头.轨道以及ChemBioDraw图形元素工具箱未提供的基本图形.ChemBioDraw笔工具在模板之外拥有得天独厚的优越性,可以绘制模板中没有 ...

  • 如何在matlab中绘制层次结构图

    如何在matlab中绘制层次结构图

  • Creo怎么绘制方程曲线? Creo创建方程曲线的教程

    Creo想哟啊创建方程曲线,该怎么创建呢?下面我们就来看看详细的教程. 1.下载并安装Creo软件,双击打开Creo软件: 2.在Creo软件的创建窗口中新建一个零件: 3.按图所示进入曲线绘制界面: ...

  • Creo3.0怎么绘制Talbot曲线?

    Creo中绘制图形很简单,今天我们就来看看Creo绘制Talbot曲线的教程. 1.下载并安装Creo软件,双击打开Creo软件: 2.在Creo软件的创建窗口中新建一个零件: 3.按图所示进入曲线绘 ...

  • matlab怎么绘制云图?MATLAB在矩形、圆形区域绘制云图的方法介绍

    matlab如何在矩形区域绘制云图?matlab如何在圆形区域绘制云图?当我们有一堆离散点的数据,希望通过云图或等值线图的形式直观地体现数据的分布特征,而且我们需要绘制的区域有时是矩形的,有时是圆形的 ...