-
随机信号分析常用函数及示例
1
、熟悉练习使用下列
MATLAB
函数,给出各个函数的功能说明和内部参数的意
义,并给出至少一个使用例子和运行结果。
rand()
:
函数功能:生成均匀分布的伪随机数
使用方法:
r = rand(n)
生成
n*n
的包含标准均匀分布的随机矩阵,其元素在
(0
,
1)
内。
rand(m,n)
或
rand([m,n])
生成的
m*n
随机矩阵。
rand(m,n,
p,...)
或
rand([m,n,p,...])
生成的
m*n*p
< br>随机矩数组。
rand
()
产生一个随机数。
rand(size(A))
生成
与数组
A
大小相同的随机数组。
r = rand(...,
'double')
或
r = rand(...,
'single')
返回指定类型的标准随机数,其中
p>
double
指随机数为双精度浮点数,
s
ingle
指随机数为单精度浮点数。
例:
r=rand(3,4);
运行结果:
r= 0.4235
0.4329
0.7604
0.2091
0.5155
0.2259
0.5298
0.3798
0.3340
0.5798
0.6405
0.7833
randn()
:
函数功能:生成正态分布伪随机数
使用方法:
r =
randn(n)
生成
n*n
p>
的包含标准正态分布的随机矩阵。
p>
randn(m,n)
或
randn([m
,n])
生成的
m*n
随机矩阵。
rand
n(m,n,p,...)
或
randn([m,n,p,..
.])
生成的
m*n*p
随机矩数组。
randn ()
产生一个随机数。
randn(size(A))
生成与数组
A
大小相同的随机数组。<
/p>
r = randn(...,
'double')
或
r = randn(...,
'single')
返回指定类型的标准随机数,其中
p>
double
指随机数为双精度浮点数,
s
ingle
指随机数为单精度浮点数。
例:
产生一个均值为
1
,标准差为
2
的正态分布随
机值:
r=1+2.*randn(10,1);
运行结果:
r=
-1.3756
3.4046
2.9727
-0.0373
1.6547
1.4681
1.0429
-1.0079
-0.8943
0.2511
normrnd()
函数功能:生成正态分布的随机数
使用方法:
R =
normrnd(mu,sigma)
生成服从均值参数为
mu
和标准差参数
sigma
的正态分布的随机数。
mu
和
< br>sigma
可能是有相同大小的向量、矩阵或多维数组,也和
R
有相同的大小。
如果
mu
或
sigma
是标量,则被扩展为和另一个输
入有相同维数的数组。
R =
normrnd(mu,sigma,v)
生成服从均值参
数为
mu
和标准差参数
sigma
p>
的正态分布的
v
个随机数组,
其中
v
是行向量。
如果
v
是<
/p>
1*2
的向量,则
R
是有
v(1)
行和
v(2)
列的矩阵。
如果
v
是
1*n
的
向量,则
R
是一个
n
< br>维数组。
R =
normrnd(mu,sigma,m,n)
生成服从均
值参数为
mu
和标准差差参数
sigm
a
的正态分布的
m*n
的随机数
矩阵。
例:
r=normrnd(0,1,[1 5]);
运行结果:
r= -1.1859
-1.0559
1.4725
0.0557
-1.2173
mean()
函数功能:求数组的平均数或者均值
使用方法:
M = mean(A)
返回沿数组中不同维的元素的平均值。
如果
A
是一
个向量,
mean(A)
返回
A
中元素的平均值。
如果
A
是一个矩阵,
mean(A)
将中的各列视为向量,把矩阵中的每列看成一
个向量,返回一个
包含每一列所有元素的平均值的行向量。如果
A
是一个多
元数组,
mean(A)
将数组中第一个非单
一维的值看成一个向量,返回每个向
量的平均值。
M = mean(A,dim)
返回
A
中沿着标量
dim
指定的维数上的元素的平均值。
对于矩阵,
mean(A,2)
就是包含每一行的平均值的列向量。
例:
a=[1 2 3;4 5 6; 7 8
9;10 11 12; ];
mean(a)
ans =
5.5000
6.5000
7.5000
mean(a,2)
ans =
2
5
8
11
var()
函数功能:计算方差
使用方法:
V = var(X)
如果
X
是一
个向量,返回向量
X
的方差。
如果
X
是一
个矩阵,
var(X)
返回一个包含矩阵
X
每一列方差的行向量。
如果
p>
X
是一个
N
维数组
,
var
沿着第一个
X
的非单一维进行操作。
只要
X
是独立同分布的,结果
V
是
X
分布的总体方差的无偏估计。
当
N>1
时
,
var
由
N-1
来标准化,其中
N
是样本大小。
只要样本是独立同分布的,
它就是
X<
/p>
分布的总体方差的无偏估计。
对
N=1<
/p>
来
说,
v
由
p>
N
来标准化。
V = var(X,1)
由
p>
N
来标准化,
并且生成了样本关于其均值的
二阶矩,
var(X,0)
等价于
va
r(X)
。
V = var(X,w)
计算向
量
X
的方差利用权重向量
w
,
向量
w
中元素的数目必
须和
X
中的列的
数目相同,向量
w
中的元素必须全是正数。
var
归一化
w
是的总和为
1<
/p>
。
V =
var(X,w,dim)
沿着指定维数
< br>dim
求
X
的方差,默认用
p>
N-1
标准化这时
w
为
0
,
w
为
1
时用
N
标准
化。
例:
x=[4 5 3 5 2 5 6];
var(x)
ans =
1.9048
xcorr()
函数
功能
:
互相关函数
使用方法
:
c = xcorr(x,y)
求
x
,y
的互相关函数。
c =
xcorr(x)
为矢量
x
的自相关
估计;
c = xcorr(x,y,'option')
为有正规化选项的互相关计算;其中选项为
为有偏的互相关函数估计;
为无偏的互相关函数估计;
为
0
延时的正规化序列的自相关计算;
为原始的互相关计算;
c = xcorr(x,y,maxlags)
返回一个延
迟范围在
[-maxlags,maxlags]
的互相关函数
序
列,输出
c
的程度为
2*maxlags-1.
c
=
xcorr(x,maxlags)
返回一个延迟范围在
[-maxlags,maxlags]
的自相关函数序
列,输出
c
的程度为
2*maxlags-1.
c =
xcorr(x,y,maxlags,'option')
同时指定
maxlags
和
option
的互相关计算
.
c =
xcorr(x,maxlags,'option')
同时指定
maxlags
和
option
的
自相关计算
.
[c,lags]
=
xcorr(
...)
返回一个在
c
进行相关估计的
延迟矢量
lag
,其范围为
[-max
lags:maxlags],
当
maxlags
没有指定时,其范围为
[-N+1,N-1]
例:
r=randn(1000,1);
[c,lags]=xcorr(r,10,'coeff');
stem(lags,c);
periodogram()
函数功能:返回序列
x,
用周期图法的功率谱估计,加参数
windo
w
是采用修
正的周期图法,
windo
w
制定窗的系数。
使用方法:
[Pxx,w]=periodogram(x)
[Pxx,w]=periodogram(x,window)
例:
Fs = 1000;
t = 0:1/Fs:.3;
x
= cos(2*pi*t*200)+randn(size(t));
periodogram(x,[],'twosided',512,Fs);
fft()
函数功能:快速傅里叶变换
使用方法:
X=fft(x)
例:
x=[1 3 5 4 2 5 6 7];
X=fft(x);
X =
33.0000
-0.2929
+
4.5355i
-8.0000
+
3.0000i
-1.7071
+
2.5355i
-5.0000
-1.7071 - 2.5355i
-8.0000 - 3.0000i
-0.2929 - 4.5355i
normpdf()
函数功能:求解正态分布概率密度函数
使用方法:
Y=normpdf(X,MU,SIMA)
求解数学期望为
MU
,标准差为
SIMA
的正态分布随机变量的概率
密度函数在
x
处的值,
若输入时
MU,SIGMA
为空
,<
/p>
则默认为标准正态分布
.MU
为
0,SIGMA
为
1
例:
x=0;
y=normpdf(x,0,1)
y =
0.3989
normcdf()
函数功能:正态分布概率分布函数
使用方法:
P=normcdf(X,MU,SIGMA)
求解数学期望为
< br>MU
,标准差为
SIMA
的正态
分布随机变量的累
积概率分布函数,
X
表示
X
处的概率分布函数值,
若输入
时
MU,SIGMA
为空
,
则默认为标准正态分布
.MU
为
< br>0,SIGMA
为
1
例:
x=0;
y=normcdf(x,0,1)
y =
0.5000
unifpdf()
函数功能:均匀分布概率密度函数
使用方法:
Y=unifpdf(x,a,b)
a,b
表
示在
[a,b]
区间内均匀分布的随机变量,
< br>x
表示其在
x
处的概
率密度值,
若输入时
a,b
为空
,
则默认
a
为
0,b
为
1
。
例:
x=3;
y=unifpdf(x,2,6);
y =
0.2500
unifcdf()
函数功能:均匀分布累积概率分布函数
使用方法:
Y=unifcdf(x,a,b)
a,b
表示在
[a,b]
区
间内均匀分布的随机变量,
x
表示其在
x
处的概
率分布函数值,
若输入时
p>
a,b
为空
,
则默
认
a
为
0,b
为
1
。
例:
x=4;
-
-
-
-
-
-
-
-
-
上一篇:ExcelVBA常用函数地语法与使用参考
下一篇:PGP知识库-经典使用常识问答