MATLAB语音信号处理
- 格式:docx
- 大小:312.55 KB
- 文档页数:36
MATLAB是一种用于科学工程计算的高级语言,其基本的数据单位是矩阵,它的命令表达式与数学、工程中常用的习惯表达形式十分相似;MATLAB高效方便的矩阵和数组运算,使之在数字信号处理、建模、系统识别、自动控制、优化等领域的问题时,显得十分简洁、高交,具有其他高级语言不可比拟的优势;其典型应用包括以下几个方面:数学计算、算法设计、建模与仿真、数据分析与可视化、科学及工程绘图和应用开发;
d=var(var(A))
计算结果:
1.2.5 矩阵的转置
矩阵的一个重要的运算是转置,如果A是一个实数矩阵,那么它被转置时,第1行变成第1列,第2行变成第2列,依此类推,一个m×n矩阵变为一个n×m矩阵。如果矩阵是方阵,那么这个矩阵在主对角线反映出来。
MATLAB中求转置的函数是A’,以A为例,编程如下:
求矩阵的特征值和特征向量可用eig函数。Eig(A)求包含矩阵A的特征值的向量。
[V,D] =eig(A)产生一个矩阵A的特征值在对角线上的对角矩阵D和矩阵
V,它的列是相应的特征向量,满足AV=VD,下面以矩阵A为例来演示。
编程如下:
A=[2 -9 1;3 6 5;7 2 5]
[V,D]=eig(A)
1.2.1 矩阵最大值
MATLAB中max函数可以表示求每一列的最大值,那么经过分析可以知道,先求出每一列的最大值然后求出这些最大值里面的最大值,下面以A矩阵为例。
示例程序如下:
A=[2 -9 1;3 6 5;7 2 5]
y=max(A)
X=max(y)
运行结果如下:
1.2.2 矩阵最小值
与求最大值类似,MATLAB中min函数可以表示求每一列的最小值,那么经过分析可以知道,先求出每一列的最小值然后求出这些最小值里面的最小值,下面以A矩阵为例
例:计算级数 的值,
分析:对于级数我们最先接触的就是常数项无穷级数,因为技术结果一般较复杂,所以用simple求解最简形式,还有Inf为无穷大。
示例程序如下:
syms x
simple(symsum(1/x^2,1,Inf))
计算结果:
1.1.5求解代数方程
代数方程分为很多种,有简单有复杂,方法也有很多。一般多项式方程的根可为实数,也可为复数,可用MATLAB符号工具箱中的solve( )函数,MATLAB中求解代数方程常用函数solve格式如下:
1MATLAB的基本运算
1.1 基本微积分运算
1.1.1 极限值的计算
MATLAB中极限函数limit格式如下:
limit(F,x,a);limit(F,a);limit(F);limit(F,x,a,'right');limit(F,x,a,'left')
其中F表示的是函数式,x表示求极限的变量,a表示的是变量取的值,left或right表示是取左极限还是右极限。
1.2.7矩阵的行列式
在MATLAB中det用于求行列式。
以矩阵A为例,编程如下
A=[2 -9 1;3 6 5;7 2 5]
y=det(A)
运行结果如下:
1.2.8矩阵特征值的计算
矩阵的特征值的求解,就是找到方程组的解:
其中λ是一个标量,x是一个长度为n的列向量。标量λ是A的特征值,x是相对应的特征向量。对于实数矩阵A来说,特征值和特征向量可能是复数。一个n×n的矩阵有n个特征值,表示为 。
关键字:Matlab;基本运算;滤波;语音信号处理;
Abstract
MATLAB is a used in scientific engineering calculation languages, and its basic data unit is matrix, it commands expression and mathematics, engineering in the habit of commonly used expression is very similar to form; MATLAB effective convenient matrix and array of operation, make in digital signal processing, modeling, system identification, automatic control and optimization, etc, is very concise, high pay, with other senior language incomparable advantages; Its typical applications include the following aspects: mathematical calculation, algorithm design and modeling and simulation, data analysis and visualization, science and engineering drawing and application development;
例:求 3x-4)+x^3的微分;
示例程序如下:
syms x y dy
y=12*cos(3*x-4)+x^3;
dy=diff(y)
计算结果:
1.1.3 积分的计算
MATLAB中积分常用函数为int,格式如下:
int(f,x,a,b)
其中f表示待积分的函数,x表示积分变量,而a,b则分别表示积分起始终止点。
[x,…]=solve(eqn1,eqn2,…,eqnn,’x,…’)
其中eqn表示的是式子,x等表示的是变量。
例:求解方程3x^2+17x-6=0
示例程序如下:
syms x
[x]=solve('3*x^2+17*x-6=0','x')
计算结果:
1.1.6求解常微分方程
未知的函数以及它的某些阶的导数连同自变量都由一已知方程联系在一起的方程称为微分方程。如果未知函数是一元函数,称为常微分方程。MATLAB中主要用dsolve求符号解析解。
例:求
示例程序如下:
syms xy
limit(limit(x^3+cos(y)+100,x,2),y,0)
计算结果:
1.1.2 微分的计算
MATLAB中微分函数diff格式如下:
Y = diff(X);Y = diff(X,n);Y = diff(X,n,dim)
其中X表示待微分的变量,n表示n次微分,第三式表示沿着定维dim的n阶微分。
令X=A\B,Y=B/A,下面仍然以A、B为例来演示。
示例程序如下:
A=[2 -9 1;3 6 5;7 2 5]
B=[1 2 5;9 3 5;6 8 2]
X=A\B
Y=B/A
计算结果:
1.2.11矩阵的幂运算
对于二维方阵,A的p次乘方可以用A^p实现。如果p是一个正整数,那么这个幂可以由许多矩阵乘法运算定义。对于p= 0,得到与A维数相同的同一个矩阵;当p< 0时,如果A- 1存在,可定义A ^p,它是与inv(A)^(-p)相同。
dsolve的基本格式是:
s=dsolve(‘方程1’, ‘方程2’,…,’初始条件1’,’初始条件2’ …,’自变量’)
例:求解微分方程y′+3y=0,y(0)=2求解析解。
示例程序如下:
syms x y
r=dsolve('Dy+3*y=0','y(0)=2','x')
计算结果:
1.2 矩阵的基本运算
This design for now most speech processing various content, operating software inconvenience of, use MATLAB7.0 comprehensive use of GUI interface design, all sorts of function calls, to realize the speech signal frequency conversion, derricking and Fourier transform and filter, and the program interface concise, simple operation, and has certain actual application significance.
A=[2 -9 1;3 6 5;7 2 5]
y=mean(A)
x=mean(A,2)
运行结果:
1.2.4矩阵的方差
MATLAB中求解矩阵方差的函数是var,它的常用格式是V = var(X),如果X是一个矩阵,var(X)返回一个包含矩阵X每一列方差的行向量。
下面还是以矩阵A来示例,程序如下:
A=[2 -9 1;3 6 5;7 2 5]
例:求下列积分
示例程序如下:
syms x
int(5*x^3+1,-1,1)
计算结果:
1.1.4级数的计算
MATLAB中级数常用函数为symsum,格式如下:
r = symsum(s);r = symsum(s,v);r = symsum(s,a,b);r = symsum(s,v,a,b)
函数表达的意义是表达式s关于变量v从a到b求和。
A0=A^3,A1=A^3,A2=A^-3
Ap0为3个A矩阵相乘,Ap1中的元素为A矩阵中相应元素的立方,矩阵Ap2为矩阵A的逆矩阵的乘积,A3为A0的逆矩阵。
A=[2 -9 1;3 6 5;7 2 5]BBiblioteka [1 2 5;9 3 5;6 8 2]
Y=A*B
X=B*A