使用的 zqq.txt 是一个语音文件,只有1列,数字大概有60000多个

fid=fopen('zqq.txt', 'rt');
x=fscanf(fid, '%f');
fclose(fid);%计算窗长为50,帧移=0时的语音能量
s=fra(50, 50, x);%帧长为50个数字,帧移为50个数字, 得到s为1319行,50列的矩阵。也就是每一行有50个数字,这50个数字为一帧
%disp(length(s2));
%disp(size(s2, 1));
%disp(size(s2, 2));
s2=s.^2;
%b=sum(a,dim); a表示矩阵;dim等于1或者2,1表示每一列进行求和,2表示每一行进行求和;表示每列求和还是每行求和;b表示求得的行向量
energy=sum(s2, 2);%对矩阵s2每一行求和, energy为1319行,1列,也就是每个数字代表一帧能量
%disp(size(energy, 1));
%disp(size(energy, 2));
subplot(2, 2, 1);
plot(energy);
xlabel('帧数');
ylabel('短时能量E');
legend('窗长N=50');
axis([0, 1500, 0, 2*10^10]);%计算窗长为100,帧移=0时的语音能量
s=fra(100, 100, x);
s2=s.^2;
energy=sum(s2, 2);
subplot(2, 2, 2);
plot(energy);
xlabel('帧数');
ylabel('短时能量E');
legend('窗长N=100');
axis([0, 750, 0, 4*10^10]);%计算窗长为400,帧移=0时的语音能量
s=fra(400, 400, x);
s2=s.^2;
energy=sum(s2, 2);
subplot(2, 2, 3);
plot(energy);
xlabel('帧数');
ylabel('短时能量E');
legend('窗长N=400');
axis([0, 190, 0, 1.5*10^11]);%计算窗长为800,帧移=0时的语音能量
s=fra(800, 800, x);
s2=s.^2;
energy=sum(s2, 2);
subplot(2, 2, 4);
plot(energy);
xlabel('帧数');
ylabel('短时能量E');
legend('窗长N=800');
axis([0, 95, 0, 3*10^11]);function f=fra(len, inc, x)%len为帧长,inc为帧长一帧移%size(X,1),返回矩阵X的行数;%size(X,2),返回矩阵X的列数;%disp(size(x, 1));fh=fix(((size(x, 1) - len)/inc) + 1);%计算帧数,fh=1319%disp(fh);f=zeros(fh, len);%fh行,len列的0矩阵,这里是1319行,50列的0矩阵i=1; n=1;while i<=fhj=1;%下面的循环是每次循环一次填满一行50个数字,也就是一帧,填满一行以后,将行数加1后再次填while j<=lenf(i, j)=x(n);j=j+1;n=n+1;endn=n-len+inc;% n-len代表将恢复到上帧的末尾,+inc的意思是在上一帧的末尾再移动inc长度 i=i+1;end
end

matlab 画短时能量图相关推荐

  1. 用matlab画饼状图和相量图

    用matlab画饼状图和相量图 subplot(1,2,1); pie([2347,1827,2043,3025]); %pie表示画饼状图 title('pie chart'); legend('q ...

  2. 数学建模中如何用 matlab画漂亮的图(一)

    数学建模中如何用 matlab画漂亮的图(二维图形) 1 plot绘图命令*** 1.1 plot(x) 当x为实向量时,plot(x)绘制出的曲线,横坐标为该向量的下表,纵坐标为每一个下表位置所对应 ...

  3. matlab画动物轮廓图,MATLAB一维插值的应用实例—画左右手的轮廓图

    问题提出 画你自己的手的形状,在MATLAB中输入 figure('position',get(0,'screensize')) axes('position',[0 0 1 1]) [x,y]=gi ...

  4. Matlab画圆方向图,如何在matlab里画天线的立体方向图?

    如何在matlab里画天线的立体方向图?有没有具体的函数? 有的,你看下一般的matlab教程里都有着方面的介绍,查一下就可以了 有数据,Matlab可以画 归根到底,画极坐标方向图是坐标变换的问题. ...

  5. 如何用matlab画电场强度三维图,浅析matlab模拟静电场三维图与恒定电流场模拟静电场...

    浅析matlab模拟静电场三维图与恒定电流场模拟静电场 1 浅析 Matlab 模拟静电场三维图 与恒定电流场模拟静电场 摘要:本文利用恒定电流场模拟静电场,通过寻找等势点的方法描绘出点 电荷对的电力 ...

  6. 使用MATLAB画SCI论文图

    从gcf和gca说起 不论是 Python 绘图还是Matlab绘图,想要获得更好看的图,都会用到这两个单词. gcf:get current figure,是目标图像的图形句柄对象 gca:get ...

  7. 以二维振动为例展示使用matlab画圆形三维图的偷懒方法

    画图主要是用极坐标,我们使用画复数的函数来画. clc;%清空上次的 %draw_Bessel%画这个东西 a=4;%圆形半径% %定义角向和径向的步长和范围 fai=[-4:0.1:4]; r=[0 ...

  8. matlab画箱型图均值方差,Matlab 绘制箱线图

    文章目录 前言 主要介绍箱线图(Box-plot)和利用Matlab绘制箱线图. 一.箱线图介绍 统计指标一般包括:四分位数.均值.中位数.众数.方差.标准差等,箱线图作为一种数据统计的方法,内容包括 ...

  9. matlab画二维图彩图,matlab二维图形绘制.pdf

    MATLAB 绘二维图 数据可视化的目的在于:通过图形,从一堆杂乱的离散数据中观察数 据间的内在关系,感受由图形所传递的内在本质. MATLAB 一向注重数据的图形表示,并不断地采用新技术改进和完备其 ...

最新文章

  1. Swift和Objective-C的运行时编程
  2. EOS账户系统(6)权限和Action映射
  3. morningcat2018 LearningDocs
  4. python环形队列_Python 实现数据结构-循环队列的操作方法
  5. Factory Method (工厂模式)
  6. Mac如何用Boot Camp安装Windows 11?告诉你如何安装 能不能安装!
  7. 小孩儿学计算机可以学些什么,基础知识
  8. Python 爬虫入门(一)——爬取糗百
  9. 服务器虚拟化分步实施,服务器虚拟化解决实施方案.doc
  10. 随机森林基本原理与算法描述
  11. Excel表头怎么设计?这里有超全面的表头设计方法!一分钟可学会
  12. 微信小程序audio的简单实用
  13. github rust 项目Travis ci配置
  14. 七夕送什么礼物最实用?送人绝对不会出错的礼物值得买
  15. 产品需求文档(PRD)
  16. Windows10远程登陆Ubuntu桌面
  17. java思维导图源代码_如何使用思维导图解读java开源项目
  18. 永磁同步电机的标么值系统
  19. 第2节--深度学习基础介绍-机器学习--课程介绍(下)
  20. 蓝懿ios网络请求bock

热门文章

  1. 【OS】NMON的简介和使用
  2. jpa在批量添加的时候,存储慢如何解决问题
  3. 计算机网络之静态路由
  4. ios11手机屏幕投屏到电脑,利用苹果镜像功能,秒会!
  5. 编程初学者如何理解程序的原理
  6. Python Gensim文本分析——从文本预处理到TFIDF、LDA建模分析
  7. 【开发者说】XstoryMaker快速书写剧本场景动画
  8. NVIDIA GPU 硬解码的支持情况
  9. JavaScript <script>标签
  10. 求职表格简历模板-Word简历可编辑下载