matlab在各个学科中的应用(6)

2019-08-20 19:18

升余弦滤波器

由于在本系统中直接采用了Matlab中communication工具箱中的rcosine和rcosflt两个函数来实现平方根升余弦滤波器,所以对这两个函数的一些属性也有必要讨论一下。 其中rcosine函数是用来产生数字滤波器的参数,而rcosflt函数调用rcosine函数产生的结果对序列进行滤波。这里需要注意的是,在rcosflt函数的输入参数中如不特别声明,它将默认的对输入信号进行过采样(Upsampling),过采样率由输入参数中的信号频率(Fd)和采样频率(Fs)决定。在经过成型滤波器(第一个平方根升余弦滤波器)时,需要对原信号进行过采样,这时可以通过rcosflt函数在完成波形生成的同时进行8倍过采样,当然也可以先进行过采样后,再将得到的结果送入到rcosflt函数中,同时声明不需要进行过采样。而在经过匹配滤波器的时候,rcosflt函数不要再过采样。

另外还有一点,在rcosine函数中,有一个参数是延时(Delay),这个参数的值就是平方根升余弦滤波器时域响应中边瓣的个数。默认值是3,同时滚降系数是0.5。当滚降系数不是0.5的情况下,延时(Delay)的值需要适当的变化。例如当滚降系数小于0.5时,Delay的值应该大于3,以保证能尽可能多的将旁瓣的效果加入的滤波器中,当然随着Delay的变大,数据处理的工作量也会增大。

应用四 Matlab在金融工程中的运用

MATLAB金融计算与金融数据处理 Matlab金融工具箱模块 1. Financial Toolbox

Matlab自带金融工具箱,具有下列功能:

固定收益计算 日期数据处理 资产均值-方差分析 时间序列分析 有价证卷的收益和价格 统计分析 定价和灵敏度分析 年金和现金流计算 抵押支持债卷

Financial Derivatives Toolbox 是金融衍生产品工具箱,用于固定收益、金融衍生物以及风险投资评估分析,也可用于各种金融衍生物定价策略以及敏感度分析。 2. Financial Derivatives Toolbox 3. Financial Time Series Toolbox

Financial Time Series Toolbox 用于分析金融市场的时间序列数据。金融数据是时间序列数据,例如股票价格或每天的利息波动,可以用该工具箱进行更加直观的数据管理。该工具箱支持下列功能:

技术分析函数分析投资。可视化金融时间序列的对象;

提供两种创建金融时间序列的对象(用构造器和转换文本文件);

Fixed-Income Toolbox扩展了Matlab在金融财经方面的应用,可以用固定收益模型进行计算,例如定价、收益和现金流动等有价证券的固定收益计算。支持的固定收益类型包括有价证券抵押回报、社会债卷和保证金等。该工具箱还能够处理相应金融衍生物的计算,支持抵押回收有价证券、国债和可转换债卷等的计算。

Garch Toolbox 提供了一个集成计算环境,允许对单变量金融时序数据的易变性进行建模。 Garch Toolbox使用一个广义ARMAX/GARCH复合模型对带有条件异方差的金融时序数据进行仿真、预测和参数识别。 Garch Toolbox提供了基本工具为单变量广义自回归条件异方差GARCH(Generalized Auto Regressive Conditional Heteroskedasticity)易变性进行建模。

Garch Toolbox采用单变量GARCH模型对金融市场中的变化性进行分析。 4. Fixed-Income Toolbox 5. Garch Toolbox

上述工具箱基本上囊括了通常的金融计算,适用于金融学术研究,特别适合金融实务工作者进行金融计算。 Financial Toolbox提供了一个基于Matlab的财务分析支撑环境,可以完成许多种财务分析统计任务;从简单计算到全面的分布式应用,财务工具箱都能够用来进行证卷定价、资产组合收益分析、偏差分析和优化业务量等工作。 金 融 数 据 统 计

本讲主要介绍了统计学的基本原理和基本统计量。要求读者掌握均匀分布、正态分布随机数生成办法,学会常用的统计绘图命令,掌握回归的方法,学会运用主成份、因子分析金融问题。

一、随机模拟基本原理

1977年,菲利浦.伯耶勒(Phelim Boyle)提出了模拟方法求解金融资产定价问题。其想法是假设资产价格分布是随机波动,如果知道了这个波动过程,就可以模拟不同的路径;每做完一次模拟,就产生一个最终资产价值,在进行若干次这样的过程,那么所得到的结果就是一个最终资产价值分布,从这个分布中可以得到期望的资产价格。 (一) 随机数生成函数

在Matlab中 unidrnd 函数可以生成1~N的均匀分布随机数。其调用方式为: R=unidrnd( N ) 随机数矩阵

确定输出随机矩阵R的行数 生成在1~N之间的一个随机数 1. 均匀分布随机数生成函数 R=unidrnd( N,m ) R=unidrnd( N,m,n )

确定输出随机矩阵R的列数 输出方阵 >>unifrnd(0,1) ans=

0.4565

如果需要生成服从连续均匀分布的随机数,则可以调用 unifrnd 函数,其调用方式为: R=unifrnd( A,B )

A,B是随机数的下界与上界 如:生成一个0~1之间随机数: 2. 生成服从连续均匀分布的随机数 R=unifrnd( A,B,m ) R=unifrnd( A,B,m,n ) m,n表示随机数的维数

下面介绍两种方法生成1~2之间随机矩阵K,K为5行6列矩阵。 方法1 方法2

>>unifrnd(1,2,[5,6]) ans =

1.9334 1.1338 1.5751 1.0129 1.6124 1.5869 1.6833 1.2071 1.4514 1.3840 1.6085 1.0576 1.2126 1.6072 1.0439 1.6831 1.0158 1.3676 1.8392 1.6299 1.0272 1.0928 1.0164 1.6315 1.6288 1.3705 1.3127 1.0353 1.1901 1.7176 >>unifrnd(1,2,5,6) ans =

1.6927 1.1536 1.5548 1.2731 1.9084 1.6408 1.0841 1.6756 1.1210 1.2548 1.2319 1.1909 1.4544 1.6992 1.4508 1.8656 1.2393 1.8439 1.4418 1.7275 1.7159 1.2324 1.0498 1.1739 1.3533 1.4784 1.8928 1.8049 1.0784 1.1708 R=normrnd( mu,sigma )

正态分布的均值 随机矩阵R的行数 正态分布的方差 3. 生成正态分布的随机数 R=normrnd( mu,sigma,m ) R=normrnd( mu,sigma,m,n ) 随机矩阵R的列数 调用方式为: >> normrnd(0,1) ans=

-0.4326

如:生成均值为0,方差为1正态分布的随机数,可用命令

下面用两种方法生成均值为0,方差为1的正态分布矩阵,矩阵为5行6列。 方法1 方法2

>>normrnd(0,1,[5,6]) ans =

-0.3179 0.7310 -0.2556 0.1184 0.7990 -1.0078 1.0950 0.5779 -0.3775 0.3148 0.9409 -0.7420 -1.8740 0.0403 -0.2959 1.4435 -0.9921 1.0823 0.4282 0.6771 -1.4751 -0.3510 0.2120 -0.1315 0.8956 0.5689 -0.2340 0.6232 0.2379 0.3899 >>normrnd(0,1,5,6) ans =

0.0880 0.7812 -2.2023 0.0215 -1.0559 -1.1283 -0.6355 0.5690 0.9863 -1.0039 1.4725 -1.3493 -0.5596 -0.8217 -0.5186 -0.9471 0.0557 -0.2611 0.4437 -0.2656 0.3274 -0.3744 -1.2173 0.9535 -0.9499 -1.1878 0.2341 -1.1859 -0.0412 0.1286 4. 特定分布随机数发生器

在Matlab中有统一格式随机数发生器,函数名称为random,可以生成许多服从不同分布的随机数。

调用方式

y=random('name' , A1 , A2 , A3 , m , n) 输出参数

name 说明随机分布的类型,具体如下表所列。 类 贝 塔 二项分布 卡 方 指数分布 别 分布 简写 类 均匀分布 泊松分布 T 别 布 分布 简写 Uniform unif Poisson poiss 分 正态分布 非中心F分布 非中心T分布 Noncentral F Noncentral T ncf nct Beta beta F 分布 伽 码 对数正态 binomial Chisquare Exponential F bino chi2 exp f Gamma Lognormal gam logn T Normal t norm 特定分布的参数表

>> a = random ('Normal' , 0 , 1 , 3 , 2) a =0.6565 -0.2624 -1.1678 -1.2132 -0.4606 -1.3194

下面用random函数生成3行2列的正态分布随机数矩阵,正态分布的均值为0、方差为1。 5. 多元正态分布的随机数

多元正态分布的随机数可以用如下形式表示: 式中: μ是均值向量, ∑是协方差矩阵。 Xi ~ N(μ , ∑)

mu 均值 sigma 协方差 cases 样本个数

在Matlab中可使用mvnrnd函数生成多元正态分布函数。 调用方式

R= mvnrnd(mu , sigma)

R= mvnrnd(mu , sigma , cases) 输入参数

>>mu = [2 3] ; %均值 >>SIGMA=[1 1.5;1.5 3]; %协方差矩阵 >>r=mvnrnd(mu,SIGMA,100); %生成100个随机样本 >> plot(r(:,1),r(:,2),'+')

下面生成一个多元正态分布的例子。 样本的散点图如右所示: 二元正态分布的散点图

(二)多元正态分布密度函数 >> mu = [1 -1];

>> Sigma = [0.9 0.4 ; 0.4 0.3]; >> X = [ 2 1 ];

>> p = mvnpdf(X , mu , Sigma) p =1.3828 e-005

多元正态分布的密度函数是 mvnpdf。 调用方式

mvnpdf(X , mu , Sigma) 下面是一个例子。

>> mu = [1 -1];

>> Sigma = [0.9 0.4 ; 0 .4 0.3]; >> X = [2 1];

>> f = mvncdf (X , mu , Sigma) f =0.8541

F (x,y) = P(X< x,Y< y)

如果计算分布函数,则X、Y为二元随机正态分布,分布函数 F(x,y) 的定义如下: 调用方式为:

p=mvncdf(X , mu , SIGMA) 下面举一个例子。

可以看出:对于随机变量 X,Y,有

P(X < 2 , Y < 1) = 0.8541 也即 X < 2且Y < 1 的概率为0.8541。 二、随机变量的数字特征

A 如果A为向量,则返回值为该向量的平均值; 如果A是矩阵,则返回值是每列的平均值。 dim dim=1(默认)表示每列平均,dim=2表示每 行平均。 (一)计算平均值 调用方式

M = mean (A)

mean(A , dim) 输入参数

在Matlab中计算几何平均数的函数为 geomean;计算调和平均数的函数是 harmmean 函数,调和平均数的计算公式是

注意样本数据不能为 0 。 >> a = [1 2 ; 3 4]; a =

1 2 3 4 下面是一个例子。 >> mean ( a ) ans =

2 3 >> mean( a , 2) ans =

1.500 0 3.500 0


matlab在各个学科中的应用(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:个人业务顾问问答题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: