两句简单的matlab程序看不懂高手进

问题描述:

两句简单的matlab程序看不懂高手进
h=linspace(1,1,N);%形成一个矩形窗,长度为N
En=conv(h,xd1.*xd1);%求卷积得其短时能量函数En
学长给的程序,毕设用,
有两句不懂,h是幅度,linspace是步进,conv是求卷积,怎么跟能量函数扯上关系的,另外xd1是之前用到的信号变量
还有“.*”表示什么?
二楼回答的很好,h=linspace(1,1,N);%形成一个矩形窗,长度为N 这句的矩形窗怎么理解,
把幅值和信号自身的平方相乘 就是能量函数了?
这样来提取能量的特征值 可行么
1个回答 分类:综合 2014-09-19

问题解答:

我来补答
先说.*吧
MATLAB主要是做矩阵运算的.
比方说:
x=[1,2,3];
那么此时x*x的话:它代表的是矩阵x乘以矩阵x,然而矩阵乘法是有条件的:第一个矩阵的列数要等于第二个矩阵的行数.这里的x*x显然是不对的.
而x.*x代表的是x的每个元素乘以其对应的元素,即x.*x=[1*1,2*2,3*3]
%%%%%%%%%%%%%%%
再说:
h=linspace(1,1,N);
这个应当是有问题.
linspace的函数用法一般为:
linspace(a,b,N),就是将a,b之间取出N个点(实际上就是N-1)等分.
比如linspace(1,2,3)它产生的是[1,1.5,2],就是说在1到2之间取三个点(就是二等分)
你这里linspace(1,1,N)就是在1,1之间取N个点,这个是有问题.有可能是[0,1]之间
 
 
展开全文阅读
剩余:2000
下一页:例6求步骤