搜档网
当前位置:搜档网 › 状态空间模型

状态空间模型

状态空间模型
状态空间模型

状态空间模型概述

状态空间模型是动态时域模型,以隐含着的时间为自变量。状态空间模型在经济时间序列分析中的应用正在迅速增加。其中应用较为普遍的状态空间模型是由Akaike提出并由Mehra进一步发展而成的典型相关(canonical correlation)方法。由Aoki等人提出的估计向量值状态空间模型的新方法能得到所谓内部平衡的状态空间模型,只要去掉系统矩阵中的相应元素就可以得到任何低阶近似模型而不必重新估计,而且只要原来的模型是稳定的,则得到的低阶近似模型也是稳定的。

状态空间模型起源于平稳时间序列分析。当用于非平稳时间序列分析时需要将非平稳时间序列分解为随机游走成分(趋势)和弱平稳成分两个部分分别建模。含有随机游走成分的时间序列又称积分时间序列,因为随机游走成分是弱平稳成分的和或积分。当一个向量值积分序列中的某些序列的线性组合变成弱平稳时就称这些序列构成了协调积分(cointegrated)过程。非平稳时间序列的线性组合可能产生平稳时间序列这一思想可以追溯到回归分析,Granger提出的协调积分概念使这一思想得到了科学的论证。Aoki和Cochrane等人的研究表明:很多非平稳多变量时间序列中的随机游走成分比以前人们认为的要小得多,有时甚至完全消失。

协调积分概念的提出具有两方面的意义:

①如果一组非平稳时间序列是协调积分过程,就有可能同时考察他们之间的长期稳定关系和短期关系的变化;

②如果一组非平稳时间序列是协调积分过程,则只要将协调回归误差代入系统状态方程即可纠正系统下一时刻状态的估计值,形成所谓误差纠正模型。

Aoki的向量值状态空间模型在处理积分时间序列时,引入了协调积分概念和与之相关的误差纠正方法,因此向量值状态空间模型也是误差纠正模型。一个向量值时间序列是否为积分序列需判断其是否含有单位根,即状态空间模型的动态矩阵是否含有量值为1的特征值。根据动态矩阵的特征值即可将时间序列分解成两个部分,其中特征值为1的部分(包括接近1的“近积分”部分)表示随机游走趋势,其余为弱平稳部分,两部分分别建模就得到了两步建模法中的趋势模型和周期模型。

状态空间模型的假设条件是动态系统符号马尔科夫特性,即给定系统的现在状态,则系统的将来与其过去独立。

[编辑]

状态空间模型的分类

状态空间模型包括两个模型:一是状态方程模型,反映动态系统在输入变量作用下在某时刻所转移到的状态;二是输出或量

测方程模型,它将系统在某时刻的输出和系统的状态及输入变量联系起来。

状态空间模型按所受影响因素的不同分为:(1)确定性状态空间模型;(2)随机性状态空间模型

状态空间模型按数值形式分为:(1)离散空间模型;(2)连续空间模型

状态空间模型按所描述的动态系统可以分为(1)线性的与非线性的;(2)时变的与时不变的。

[编辑]

状态空间模型的特点

状态空间模型具有如下特点:

1、状态空间模型不仅能反映系统内部状态,而且能揭示系统内部状态与外部的输入和输出变量的联系。

2、状态空间模型将多个变量时间序列处理为向量时间序列,这种从变量到向量的转变更适合解决多输入输出变量情况下的建模问题。

3、状态空间模型能够用现在和过去的最小心信息形式描述系统的状态,因此,它不需要大量的历史数据资料,既省时又省力。

1)状态空间模型不仅能反映系统内部状态,而且能揭示系统内部状态与外部的输入和输出变量的联系。

2)状态空间模型将多个变量时间序列处理为向量时间序列,这种从变量到向量的转变更适合解决多输入输出变量情况下的建模问题。

3)状态空间模型能够用现在和过去的最小信息形式描述系统的状态,因此,它不需要大量的历史数据资料,既省时又省力。

stats包里有经典的时间序列建模工具,arima()函数做ARIMA 建模和Box-Jenkins-type分析。stats包还提供StructTS()函数拟合结构时间序列,decompose()过滤时间序列,HoltWinters()分解时间序列。forecasting包束提供了一些延伸的方法,尤其是预测和模型选择。多种时间序列的过滤器可在mFilter包里找到。为了估计VAR模型,stats包的ar()拟合简单的模型,vars

包、dse包的estVARXls()提供了更精巧的模型,MSBVAR包提供了贝叶斯方法。Dynlm包提供了经由OLS过滤动态回归模型的方便接口;dyn包里则提供了不同的方法。更高级的动态系统方程可由dse包拟合。高斯线形状态空间模型可由dlm包拟合(用最大斯然,kalman滤波/平滑,和贝叶斯方法)。Unit root (单位根)和cointegration technique(协整技术)可在urca,uroot和tseries包里找到。tsfa包可做时间序列因子分析。sde 包提供随机微分方程的模拟和推论。

由传递函数转换成状态空间模型(1)

由传递函数转换成状态空间模型——方法多!!! SISO 线性定常系统 高阶微分方程化为状态空间表达式 SISO ()()()()()()m n u b u b u b y a y a y a y m m m n n n n ≥+++=++++--- 1102211 )(2 211110n n n n m m m a s a s a s b s b s b s G +++++++=--- 假设1+=m n 外部描述 ←—实现问题:有了部结构—→模拟系统 部描述 SISO ? ??+=+=du cx y bu Ax x 实现问题解决有多种方法,方法不同时结果不同。 一、 直接分解法 因为 1 0111 11()()()()()()()() 1m m m m n n n n Y s Z s Z s Y s U s Z s U s Z s b s b s b s b s a s a s a ----?=? =?++++++++ ???++++=++++=----) ()()() ()()(11 11110s Z a s a s a s s U s Z b s b s b s b s Y n n n n m m m m 对上式取拉氏反变换,则 ? ??++++=++++=----z a z a z a z u z b z b z b z b y n n n n m m m m 1) 1(1)(1)1(1)(0 按下列规律选择状态变量,即设)1(21,,,-===n n z x z x z x ,于是有

?????? ?+----===-u x a x a x a x x x x x n n n n 12113 221 写成矩阵形式 式中,1-n I 为1-n 阶单位矩阵,把这种标准型中的A 系数阵称之为友阵。只要系统状态方程的系数阵A 和输入阵b 具有上式的形式,c 阵的形式可以任意,则称之为能控标准型。 则输出方程 121110x b x b x b x b y m m n n ++++=-- 写成矩阵形式 ??????? ? ????????=--n n m m x x x x b b b b y 12101 1][ 分析c b A ,,阵的构成与传递函数系数的关系。 在需要对实际系统进行数学模型转换时,不必进行计算就可以方便地写出状态空间模型的A 、b 、c 矩阵的所有元素。 例:已知SISO 系统的传递函数如下,试求系统的能控标准型状态空间模型。 4 2383)()(2 3++++=s s s s s U s Y 解:直接得到系统进行能控标准型的转换,即

实验四用MATLAB求解状态空间模型

实验四 用MATLAB 求解状态空间模型 1、实验设备 MATLAB 软件 2、实验目的 ① 学习线性定常连续系统的状态空间模型求解、掌握MATLAB 中关于求解该模型的主要函数; ② 通过编程、上机调试,进行求解。 3、实验原理说明 Matlab 提供了非常丰富的线性定常连续系统的状态空间模型求解(即系统运动轨迹的计算)的功能,主要的函数有: 初始状态响应函数initial()、阶跃响应函数step()以及可计算任意输入的系统响应数值计算函数lsim()和符号计算函数sym_lsim()。 数值计算问题可由基本的Matlab 函数完成,符号计算问题则需要用到Matlab 的符号工具箱。 4、实验步骤 ① 根据所给状态空间模型,依据线性定常连续系统状态方程的解理论,采用MATLAB 编程。 ② 在MATLAB 界面下调试程序,并检查是否运行正确。 习题1:试在Matlab 中计算如下系统在[0,5s]的初始状态响应,并求解初始状态响应表达式。 Matlab 程序如下: A=[0 1; -2 -3]; B=[]; C=[]; D=[]; x0=[1; 2]; sys=ss(A,B,C,D); [y,t,x]=initial(sys,x0,0:5); plot(t,x) 0011232????==????--???? x x x

习题2:试在Matlab 中计算如下系统在[0,10s]内周期为3s 的单位方波输入下的状态响应。并计算该系统的单位阶跃状态响应表达式。 Matlab 程序如下: A=[0 1; -2 -3]; B=[0; 1]; C=[]; D=[]; x0=[1; 2]; sys=ss(A,B,C,D); [u t]=gensig('square',3,10,0.1) 0011232????==????--???? x x x

状态空间模型

状态空间模型概述 状态空间模型是动态时域模型,以隐含着的时间为自变量。状态空间模型在经济时间序列分析中的应用正在迅速增加。其中应用较为普遍的状态空间模型是由Akaike提出并由Mehra进一步发展而成的典型相关(canonical correlation)方法。由Aoki等人提出的估计向量值状态空间模型的新方法能得到所谓内部平衡的状态空间模型,只要去掉系统矩阵中的相应元素就可以得到任何低阶近似模型而不必重新估计,而且只要原来的模型是稳定的,则得到的低阶近似模型也是稳定的。 状态空间模型起源于平稳时间序列分析。当用于非平稳时间序列分析时需要将非平稳时间序列分解为随机游走成分(趋势)和弱平稳成分两个部分分别建模。含有随机游走成分的时间序列又称积分时间序列,因为随机游走成分是弱平稳成分的和或积分。当一个向量值积分序列中的某些序列的线性组合变成弱平稳时就称这些序列构成了协调积分(cointegrated)过程。非平稳时间序列的线性组合可能产生平稳时间序列这一思想可以追溯到回归分析,Granger提出的协调积分概念使这一思想得到了科学的论证。Aoki和Cochrane等人的研究表明:很多非平稳多变量时间序列中的随机游走成分比以前人们认为的要小得多,有时甚至完全消失。 协调积分概念的提出具有两方面的意义:

①如果一组非平稳时间序列是协调积分过程,就有可能同时考察他们之间的长期稳定关系和短期关系的变化; ②如果一组非平稳时间序列是协调积分过程,则只要将协调回归误差代入系统状态方程即可纠正系统下一时刻状态的估计值,形成所谓误差纠正模型。 Aoki的向量值状态空间模型在处理积分时间序列时,引入了协调积分概念和与之相关的误差纠正方法,因此向量值状态空间模型也是误差纠正模型。一个向量值时间序列是否为积分序列需判断其是否含有单位根,即状态空间模型的动态矩阵是否含有量值为1的特征值。根据动态矩阵的特征值即可将时间序列分解成两个部分,其中特征值为1的部分(包括接近1的“近积分”部分)表示随机游走趋势,其余为弱平稳部分,两部分分别建模就得到了两步建模法中的趋势模型和周期模型。 状态空间模型的假设条件是动态系统符号马尔科夫特性,即给定系统的现在状态,则系统的将来与其过去独立。 [编辑] 状态空间模型的分类 状态空间模型包括两个模型:一是状态方程模型,反映动态系统在输入变量作用下在某时刻所转移到的状态;二是输出或量

实验八MATLAB状态空间分析

实验八 线性系统的状态空间分析 §8.1 用MATLAB 分析状态空间模型 1、状态空间模型的输入 线性定常系统状态空间模型 x Ax Bu y Cx Du =+=+ 将各系数矩阵按常规矩阵形式描述。 [][][]11 121120 10 1;;;n n n nn n n A a a a a a a B b b b C c c c D d ==== 在MATLAB 里,用函数SS()来建立状态空间模型 (,,,)sys ss A B C D = 例8.1 已知某系统微分方程 22d d 375d d y y y u t t ++= 求该系统的状态空间模型。 解:将上述微分方程写成状态空间形式 0173A ??=??--??,01B ??=???? []50C =,0D = 调用MATLAB 函数SS(),执行如下程序 % MATLAB Program example 6.1.m A=[0 1;-7 -3]; B=[0;1]; C=[5 0]; D=0; sys=ss(A,B,C,D) 运行后得到如下结果 a = x1 x2 x1 0 1

x2 -7 -3

b = u1 x1 0 x2 1 c = x1 x2 y1 5 0 d = u1 y1 0 Continuous-time model. 2、状态空间模型与传递函数模型转换 状态空间模型用sys 表示,传递函数模型用G 表示。 G=tf(sys) sys=ss(G) 状态空间表达式向传递函数形式的转换 G=tf(sys) Or [num,den]=ss2tf(A,B,C,D) 多项式模型参数 [num,den]=ss2tf(A,B,C,D,iu) [z,p,k]=ss2zp(A,B,C,D,iu) 零、极点模型参数 iu 用于指定变换所需的输入量,iu 默认为单输入情况。 传递函数向状态空间表达式形式的转换 sys=ss(G) or [A,B,C,D]=tf2ss(num,den) [A,B,C,D]=zp2ss(z,p,k) 例 8.2 11122211220.560.050.03 1.140.2500.1101001x x u x x u y x y x -??????????=+??????????-????????????????=??????? ????? 试用矩阵组[a ,b ,c ,d]表示系统,并求出传递函数。 % MATLAB Program example 6.2.m

状态空间模型

引言 状态空间模型是应用状态空间分析法对动态系统所建立的一种数学模型,它是应用现代控制理论对系统进行分析和综合的基础。状态空间模型由描述系统的动态特性行为的状态方程和描述系统输出变量与状态变量间变换关系的输出方程组成。 在经典控制理论中,采用n阶微分方程作为对控制系统输入量u(t)和输出量y(t)之间的时域描述,或者在零初始条件下,对n阶微分方程进行Laplace 变换,得到传递函数作为对控制系统的频域描述,“传递函数”建立了系统输入量U(s)=L[u(t)]和输出量Y(s)=L[y(t)]之间的关系。传递函数只能描述系统的外部特性,不能完全反映系统内部的动态特征,并且由于只考虑零初始条件,难以反映系统非零初始条件对系统的影响。 现代控制理论是建立在“状态空间”基础上的控制系统分析和设计理论,它用“状态变量”来刻画系统的内部特征,用“一阶微分方程组”来描述系统的动态特性。系统的状态空间模型描述了系统输入、输出与内部状态之间的关系,揭示了系统内部状态的运动规律,反映了控制系统动态特性的全部信息。 龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。该算法是构建在数学支持的基础之上的。 标准四阶龙格——库塔法的基本思想 龙格和库塔提出了一种间接地运用Taylor公式的方法,即利用y(x)在若干个待定点上的函数值和导数值做出线性组合式,选取适当系数使这个组合式进Taylor展开后与y(xi+1)的Taylor展开式有较多的项达到一致,从而得出较高阶的数值公式,这就是龙格—库塔法的基本思想。 一、实验原理 龙格——库塔法 龙格—库塔法是仿真中应用最广泛的方法。它以泰勒展开公式为基础,用函数f的线性组合代替f的高阶导数项,避免了高阶导数的运算,又提高了精度。泰勒公式的阶次取得越高,龙格—库塔法所得的误差等级越低,精度越高。最常用的是四阶龙格—库塔法,它虽然有一定的时间损耗,但比梯形法要快,而且与

实验四 用MATLAB求解状态空间模型

实验四用MATLAB求解状态空间模型 1、实验设备 MATLAB软件 2、实验目的 ①学习线性定常连续系统的状态空间模型求解、掌握MATLAB中关于求解该模型的主要函数; ②通过编程、上机调试,进行求解。 3、实验原理说明 Matlab提供了非常丰富的线性定常连续系统的状态空间模型求解(即系统运动轨迹的计算)的功能,主要的函数有: 初始状态响应函数initial()、阶跃响应函数step()以及可计算任意输入的系统响应数值计算函数lsim()和符号计算函数sym_lsim()。 数值计算问题可由基本的Matlab函数完成,符号计算问题则需要用到Matlab 的符号工具箱。 4、实验步骤 ①根据所给状态空间模型,依据线性定常连续系统状态方程的解理论,采用MATLAB编程。 ②在MATLAB界面下调试程序,并检查是否运行正确。 习题1:试在Matlab中计算如下系统在[0,5s]的初始状态响应,并求解初始状态响应表达式。 Matlab程序如下:A=[0 1; -2 -3]; B=[]; C=[]; D=[]; 011 232???? == ???? -- ????x x x

x0=[1; 2]; sys=ss(A,B,C,D); [y,t,x]=initial(sys,x0,0:5); plot(t,x) 习题2:试在Matlab 中计算如下系统在[0,10s]内周期为3s 的单位方波输入下的状态响应。并计算该系统的单位阶跃状态响应表达式。 0011232????==????--???? x x x

Matlab程序如下: A=[0 1; -2 -3]; B=[0; 1]; C=[]; D=[]; x0=[1; 2]; sys=ss(A,B,C,D); [u t]=gensig('square',3,10, [y,t,x] = lsim(sys,u,t,x0) plot(t,u,t,x);

相关主题