教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教学研究 >

MATLAB在时间序列分析中的应用

来源:网络收集 时间:2026-04-28
导读: MATLAB课程论文 《MATLAB语言》课程论文 MATLAB在时间序列分析中的应用 姓名:李伟 学号:12010245258 专业:通信工程 班级:10级通信一班 指导老师:汤全武 学院:物理电气信息学院 完成日期:2011.12.10 MATLAB课程论文 MATLAB在时间序列分析中的应用 (李

MATLAB课程论文

《MATLAB语言》课程论文

MATLAB在时间序列分析中的应用

姓名:李伟

学号:12010245258

专业:通信工程

班级:10级通信一班

指导老师:汤全武

学院:物理电气信息学院

完成日期:2011.12.10

MATLAB课程论文

MATLAB在时间序列分析中的应用

(李伟 12010245258 2010级通信1班)

[摘要]Matlab强大的科学计算和可视化功能使其在各个领域中得到了广泛的应用.采用Maflab进行时序列分析可以极大地简化编程工作,并具有界面友好、操作方便的特点.介绍了使用Matlab进行时间序列分析的基本方法和步骤,并通过实例进行了说明.

[关键词]Matlab 时间序列 谱分析

一、问题的提出

1984年美国的MathWorks公司推出了Mat—lab,在许多领域得到了充分的利用.其强大的科学计算与可视化功能,开放式的可扩展环境以及其各种功能强大的工具箱(ToolBox),使得它成为计算机辅助设计与分析、算法研究和应用开发的基本工具和首选平台.时间序列分析是采用参数模型对观测得到的有序随机数据进行分析的一种处理方法,通过时间序列可以对系统的动态特性进行分析、对系统的状态进行预测,从而为系统的状态监控和故障诊断提供依据.Matlab 工具箱中包含了许多函数,借助于这些函数可以方便地实现系统的时间序列分析.

二、时间序列分析原理及实现

时间序列分析(autoRegressive movingAverage)是对有序的随机数据(信号)处理的一种方法,它的出发点是承认数据的有序性和相关性,通过数据内部的相互关系来辨识系统的变化规律,它的建模方法是将系统的输出看作是在白噪声输入下的响应.具体地讲,就是针对一组试验数据,建立系统的参数模型,ARMA(m,n)的参数模型可以表示为:

x(t) x(t ) (t ) (1) 1 0mn

式中:{ (t), (t一1), (t一2) 。 (t—m)}为有序的时间序列,{ (t), (t一1), , (t—A)}为有序的白噪声序列,方程的左边为系统的自回归部分,它反映了系统的固有特性,右边表示系统的滑动平均部分,当 0时为MA模型,当 0时为AR模型.辨识系统模型参数的方法有很多种,常用的方法主要有最dx-乘法、辅助变量法、Marple法等.根据不同的需要和研究对象可以采用不同的建模方法.在建立了系统的模型后,可以对系统的状态进行预测、分析预测误差、进行谱分析.关于这些算法的基本原理,可以参考文献[2~4],这些在Matlab中都提供了相应的函数.

采用Matlab进行时间序列分析主要包括4步.

MATLAB课程论文

1)数据的读人

Matlab采用类似于C语言的方式进行数据的读人,可以直接从数据文件中将数据读到一个矩阵中.

fid=fopen(fileName,,r,); %打开一个文件进行读写

data=fscanf(fid,'g'); % 将数据读人到data中

status=fclose(fid); % 释放文件句柄

2)建立模型

在获得所要分析的数据后可以对数据进行建模,本文主要介绍2个函数: th = ar(y,n);

h = ivar(y,n);

ar(y,n)函数采用最小二乘法进行模型参数的估计,该函数要求输入噪声为白噪声,当输入噪声为色噪声时,不能保证模型参数的估计值的无偏性和一致收敛性.而ivar(y,n)则采用最优辅助变量的方法进行参数的估计,计算得到的参数模型存放在th中.th中的数据采用Matlab独有的THETA格式模型进行定义.通过th2arx()函数可以得到模型参数和THETA格式的转换.

3)模型分析

模型的分析包括模型的仿真、预测及误差分析和谱分析.

e= pe(y,th);

y1= idsim(y,th);

y1= predict(y,th);

y2=th2ff(th);

pe(y,th)用于计算模型实测值与估计值之间的误差,误差值存放在e中. idsim (y,th)对输入的数据进行仿真,并将仿真结果存放在y中.dict(y,th)则针对模型的输人数据和模型格式进行预测,并将预测值存放在Y 中,th2f(th)可以实现求数据的频响函数.

4)图形输出

Matlab提供了强大的数据输入输出的功能.对数据的分析结果,可以采用图形的方式进行直观的表示,常用的针对时间序列分析的绘图函数有: Plot(x,y1,x,y2 ),在同一个图中对分析结果进行表示.

Bodeplot(e),直接画出波德图.

Ffplot(e),画频谱图.

Nyqplot(),画奈氏图.

三、Theta模型参数

Theta格式是Matlab系统辨识工具箱中通用的参数模型格式,Theta模型的定义可以分为两种,即基于输入输出表示的Theta模型和基于状态空间表示的Theta模型.基于输入输出的Theta模型可以对应各种输入输出参数模型,如AR、ARX、ARMA、BJ等;基于状态空间表示的Theta模型则与连续或离散状态空间参数模型对应,它们的信息都以矩阵的形式存储,但模型信息数据的组织结构不同.在时间序列分析中,常用的是第一种数据模型,其结构可以表示为:

A(q)y(t) B(q)B1(q)C(q)u1(t nk1) nunu(t nknu) e(t) (2) F1(q)Fn(q)D(q)

公式(2)中,A(q)、B(q)、F(q)( =1,2 .^n)、C(q)、D(q)为平移算子q的多

MATLAB课程论文

项式,其阶次分别为M 、nbi、nfi( =1,2 .,n)、ItC、nd,nix为系统的输入变量个数.设n为所有多项式的阶次之和,令r=max(凡,7,6+3nu),则系统的输入输出The—ta模型格式为如下定义的(3+凡)X r矩阵,矩阵中每行的内容表示为:

1)矩阵的第1行为估计方差,采样时间 ,输入个数眦,各个多项式的阶次M 、nb、ItC、nd、nf,nk;

2)第2行为最终预测误差FPE,模型生成的13期、时间和命令;

3)第3行为估计参数的向量,即A、 、C、D、F 的系数;

4)第4行到第3+凡行为估计的方差矩阵;

5)对于连续系统,该矩阵可能增加到凡+4行,其中包含系统的死区时间.对于时间序列分析而言,在生成Theta模型以后,需要根据不同的需要对该模型进行分析,以便从中提取所需的估计参数以及最终的误差.

四、应用实例

为了对上面的方法进行说明,采用5个问题加以说明,第1个问题利用小波时间序列进行消噪或压缩.第2个问题利用ddencmp和wdencmp函数实现数据降噪.第3个问题利用函数wavedec对时间序列进行一维多分辨分析.第4个问题用wthcoef对时间序列的小波系数进行阈值处理.第5个问题利用wprcoef,由wpdec得到的t对时间蓄力分解的一位小波包系数重构.5个问题的源程序如下: 问题1

格式:

(1)[xc,cxc,lxc,perf0,petfl2]

=wdencmp('gbl,x,'wname',N,thr,sorh,keepapp)

(2)[xc,cxc,lxc,perf0,perfl2]=wdencmp('lvd ',x, 'wname ',N,thr,sorh)

(3)[xc,cxc,lxc,perf0,pefgl2]=wdencmp('lvd ',C,L, 'wname ',N,thr,sorh) 说明:

x:待消噪或压缩的时间序列。

N:小波分解层数。

c,l:由函数wavedec得到的时间序列一维小波变换的分解系数及其维数。 'wname ':消噪时选取的小波函数。

thr:阈值。

sorh:软、硬阈值的选择。

keepapp:可选参数,当keepapp=1时表示低频系数不进行量化,反之低频系数要进行量化。

xc:发表会消噪或压缩后的时间序列。

cxc,lxc:xc的小波分解结构。

perf0,perfl2:恢复和压缩L平方的范数百分比。

'gbl ':global的缩写,各层用同一个阈值。

'lvd …… 此处隐藏:3306字,全部文档内容请下载后查看。喜欢就下载吧 ……

MATLAB在时间序列分析中的应用.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/49823.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)