系统辨识练习题
系统识别试题

系统辨识练习题
一、简述下列各题
1. 什么是系统辨识?系统辨识的组成要素有哪些?系统辨识的基本步骤有哪些?把
系统辨识的基本环节用框图表示出来。
2. 阐述辨识的原理,并以单输入单输出系统为例,画出辨识原理图。
3. 什么是最小二乘参数辨识问题,简单阐述它的基本原理。
4. 基本最小二乘算法有何优缺点?克服基本最小二乘算法的缺陷的方法有哪些?
5. 递推辨识算法的基本格式是什么?构成递推辨识算法的基本条件是什么?
6. 阐述极大似然原理。
7. 现代辨识方法大体上可以分成哪几类? 8. 何谓白噪声?
9. 简述表示定理,并简单说明其意义。
10. 简述巴塞伐尔定理。
二、如下图所示,信号以1/2的概率在固定的时间间隔上改变极性,而且在持续时间区间内
信号幅度保持不变,求其自相关函数)(τx R 和谱密度函数)(ωx S 。
三、完成下面关于参数估计的统计性质的表格(在符合条件的栏内打√)
四、根据热力学原理,对于给定质量的气体,压力P 与体积V 之间的关系为βα
=PV
,其
中α和β为待定参数。
经实验获得如下一批数据,V 单位为立方英寸,P 的单位为巴每平方英寸
试用一次完成的最小二乘算法确定参数α和β(只要求写出计算过程,不要求计算结果)。
五、 写出加权最小二乘算法的递推公式,并解释如何进行递推计算(包括初始条件如何
确定)? 六、
考虑一个独立同分布的随机过程)}({t x ,在参数θ条件下随机变量x 的概率密度为
0,)|(2>=-θθθθx xe x P
求参数θ的极大似然估计。
系统辨识试卷A参考答案

襄樊学院2008-2009学年度上学期《系统辨识》试题A卷参考答案及评分标准一、选择题:(从下列各题的备选答案中选出一个或几个正确答案,并将其代号写在题干后面的括号内。
答案选错或未选全者,该题不得分。
每空2分,共12分)1、(C)2、(D)3、(ACD)4、(D)5、(A)6、(ABC)二、填空题:(每空2分,共14分)1、计算。
2、阶次和时滞3、极大似然法和预报误差法4、渐消记忆的最小二乘递推算法和限定记忆的最小二乘递推算法三、判断题(下列命题你认为正确的在题后括号内打“√”;错误的打“×”并改正;每小题2分,共20分)(注:正确的题目括号内打“√”得2分,打“×”得0分;错误的题目括号内打“×”得1分,改正正确再得1分,错误的题目括号内打“√”得0分;)1、(√)2、(×)参数型→非参数型3、(√)4、(×)没有→有5、(√)6、(×)考虑→基本不考虑7、(√)8、(√)9、(×)完全相同→不完全相同 10、(×)不需要→需要四、简答题:(回答要点,并简明扼要作解释,每小题6分,共18分)1、答:相关分析法的主要优点是由于M序列信号近似于白噪声,噪声功率均匀分布于整个频带,从而对系统的扰动甚微,保证系统能正常工作(1.5分)。
此外。
因为相关函数的计算是一种统计平均的方法,具有信息滤波的功能,因此,在有噪声污染下,仍可提取有用信息,准确地求出系统的脉冲响应(1.5分)。
相关辨识技术在工程中的应用、可归结为下述几个方面:(1)系统动态特性的在线测试。
包括机、炉、电等一次设备,风机、水泵等辅机以及二次自动控制系统;(1分)(2)对控制系统进行在线调试,使调节系统参数优化;(1分)(3)自适应控制中的非参数型模型辨识等。
(1分)2、答:计算中用一个数值来表示对观测数据的相对的“信任程度”,这就是权。
(2分)对于时变参数系统,其当前的观测数据最能反映被识对象当前的动态特性,数据愈“老”,它偏离当前对象特性的可能性愈大。
山东XX工程大学《系统辨识基础》复习题

山东XX工程大学《系统辨识基础》复习题一、单项选择题1.如果对系统的客观规律一无所知,只能从系统的测试数据获取系统模型,则该问题为【】A 白箱B灰箱C黑箱 D 蓝箱2.下列哪种模型用来描述线性离散系统?【】A 描述函数B传递函数C微分方程D差分方程3.下列哪种信号是辨识中常用的输入信号?【】A伪随机序列B斜坡信号C阶跃信号D加速度信号4.下面哪些内容不属于系统辨识的基本内容?【】A观测数据B模型结构辨识C模型参数辨识D模型验证5.下面哪个不属于系统辨识过程中的3大要素之一?【】A输入输出数据 B AIC准则C模型类 D 等价准则6.下面哪个数学模型属于非参数型?【】A微分方程B状态方程C传递函数D脉冲响应模型7.下列哪个属于物理模型?【】A阶跃响应图B风洞C脉冲响应图 D 频率特性图8.下列哪种辨识方法需要输出量条件概率密度函数的先验知识?【】A最小二乘法B相关法C极大似然法D预报误差法9.以下哪种辨识算法对噪声最敏感【】A极大似然法B相关分析法C基本最小二乘D辅助变量法10.以下哪种方法可解决数据递推的饱和现象?【】5.下面哪个不属于系统辨识过程中的3大要素之一?【】A输入输出数据 B AIC准则C模型类 D 等价准则6.下面哪个数学模型属于参数型?【】A传递函数B频率响应C阶跃响应D脉冲响应模型7.下列哪个属于图表模型?【】A沙盘B风洞C频率特性图D汽车模型8.下列哪种辨识方法需要输出量条件概率密度函数的先验知识?【】A最小二乘法B相关法C预报误差法D极大似然法9.以下哪种辨识算法对噪声最敏感?【】A基本最小二乘B相关分析法C极大似然法D辅助变量法10.以下哪种方法可解决数据递推的饱和现象?【】A普通最小二乘法B随机逼近法C渐消记忆法D增广最小二乘法A限定记忆法B随机逼近法C普通最小二乘法D增广最小二乘法二、判断题11.极大似然法可以用于线性系统和非线性系统。
【】12.白噪声信号一定是均匀分布的。
系统辨识大作业1201张青

《系统辨识》大作业学号:********班级:自动化1班姓名:**信息与控制工程学院自动化系2015-07-11第一题模仿index2,搭建对象,由相关分析法,获得脉冲响应序列ˆ()g k,由ˆ()g k,参照讲义,获得系统的脉冲传递函数()G z和传递函数()G s;应用最小二乘辨识,获得脉冲响应序列ˆ()g k;同图显示两种方法的辨识效果图;应用相关最小二乘法,拟合对象的差分方程模型;构建时变对象,用最小二乘法和带遗忘因子的最小二乘法,(可以用辨识工具箱) 辨识模型的参数,比较两种方法的辨识效果差异;答:根据index2搭建结构框图:相关分析法:利用结构框图得到UY 和tout其中的U就是题目中要求得出的M序列,根据结构框图可知序列的周期是1512124=-=-=npN。
在command window中输入下列指令,既可以得到脉冲相应序列()g k:aa=5;NNPP=15;ts=2; RR=ones(15)+eye(15); for i=15:-1:1UU(16-i,:)=UY(16+i:30+i,1)'; endYY=[UY(31:45,2)];GG=RR*UU*YY/[aa*aa*(NNPP+1)*ts]; plot(0:2:29,GG) hold onstem(0:2:29,GG,'filled') Grid;title('脉冲序列g(τ)')最小二乘法建模的响应序列由于是二阶水箱系统,可以假设系统的传递函数为221101)(sa s a sb b s G +++=,已知)(τg ,求2110,,,a a b b已知G (s )的结构,用长除法求得G(s)的s 展开式,其系数等于从 )( g 求得的各阶矩,然后求G(s)的参数。
得到结果: a1 =-1.1561 a2 =0.4283 b0 =-0.0028 b1=0.2961在command window 中输入下列指令得到传递函数:最小二乘一次算法相关参数%最小二乘法一次完成算法 M=UY(:,1); z=UY(:,2); H=zeros(100,4); for i=1:100 H(i,1)=-z(i+1); H(i,2)=-z(i); H(i,3)=M(i+1); H(i,4)=M(i); endEstimate=inv(H'*H)*H'*(z(3:102)) %结束得到相关系数为:Estimate =-0.7866 0.1388 0.5707 0.3115带遗忘因子最小二乘法:%带遗忘因子最小二乘法程序M=UY(:,1);z=UY(:,2);P=1000*eye(5); %Theta=zeros(5,200); %Theta(:,1)=[0;0;0;0;0];K=zeros(4,400); %K=[10;10;10;10;10];lamda=0.99;%遗忘因数for i=3:201h=[-z(i-1);-z(i-2);M(i);M(i-1);M(i-2)];K=P*h*inv(h'*P*h+lamda);Theta(:,i-1)=Theta(:,i-2)+K*(z(i)-h'*Theta(:,i-2));P=(eye(5)-K*h')*P/lamda;endi=1:200;figure(1)plot(i,Theta(1,:),i,Theta(2,:),i,Theta(3,:),i,Theta(4,:),i,Theta(5,:) )title('带遗忘因子最小二乘法')grid%结束Estimate 可由仿真图得出,可知两种方法参数确定十分接近。
系统辨识考试题最终

系统辨识考试题最终2009-2010 学年第二学期研究生课程考核(读书报告、研究报告)考核科目:系统辨识理论及应用学生所在院:电信学院学生所在学科:信号与信息系统姓名:学号:1. 简述系统辨识的基本概念、定义和主要步骤(15分)答:系统辨识的概念:根据系统的输入输出时间函数来确定描述系统行为的数学模型。
对系统分析大的主要问题是根据输入时间函数和系统的特性来确定输出信号。
对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。
而系统辨识所研究的问题恰好是这些问题的逆问题。
系统辨识的定义:根据系统的输入输出时间函数来确定描述系统行为的数学模型,是现代控制理论中的一个分支。
对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。
对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。
系统辨识的主要步骤:系统辩识包括结构辩识和参数估计两个主要内容。
辩识的一般步骤如下:(1)明确目的和获取先验知识首先要尽可能多的获取关于辨识对象的先验知识和明确辩识的目的。
明确目的和掌握尽可能多的先验知识往往是辨识结果好坏的重要先决条件。
(2)实验设计实验设计主要包括以下六个方面内容:a.选择观测点;b.输入信号的形状和幅度(可持续激励条件);c.采样间隔T0 ;d.开环和闭环辩识(闭环可辩识条件);e.在线和离线辩识;f.测量数据的存储和预处理。
(3)模型结构的确定(4)参数估计(Parameter Estimation)(5)模型验证模型精度是否可以接受?否则需要重复实验,重复辩识。
系统辩识的内容和步骤见后示意框图。
辩识目的与先知识验实验设计模型结构的确定输入/输出数据获取参数估计模型验证最终模型2. 简述相关辨识的基本原理和基于二进制伪随机序列的相关辩识方法。
(15分)答:相关辨识的基本原理如下图所示。
g(t)延时τ1/Tπ×x(t)w(τ)x(t-τ)y(t) ×(t-τ)kg(t)x(t) —输入(白噪声); y(t) —测量输出;w(τ) ω(t )—随机干扰(不可测)基于二进制伪随机序列的相关辩识方法:x(t)用二位式周期性伪随机信号,积分时间大大缩短()()xy 0R () 1/T x t y(t )dt g()Tτττ=+?? ()s T T >二位式信号使得乘法运算简化。
系统辨识练习题

系统辨识练习题在进行系统辨识练习题之前,我们需要明确什么是系统辨识。
系统辨识是指通过对系统输入和输出数据的分析,建立描述系统行为的模型,并通过模型参数的估计来预测系统的性能。
在现实生活中,系统辨识具有广泛的应用,如控制系统设计、信号处理、机器学习等领域。
一、系统辨识基础知识1.1 系统模型与辨识系统模型表示了系统内部因果关系和输入输出关系,它是描述系统行为的数学方程。
系统辨识则是通过收集系统输入输出数据,根据这些数据建立模型,进而估计模型参数。
1.2 时域与频域方法在进行系统辨识时,可以采用时域方法或频域方法。
时域方法是指通过观察系统的时域响应,建立时间上的模型。
频域方法是指将系统输入输出的频谱进行分析,建立频域模型。
1.3 参数辨识与结构辨识参数辨识是指根据已知的系统输入输出数据,估计系统模型中的参数。
而结构辨识是指在已知系统输入输出数据的基础上,确定系统模型的结构或形式。
二、系统辨识方法2.1 线性系统辨识方法线性系统辨识是指对线性系统进行辨识,常用的方法包括最小二乘法、最大似然法、滑动模式控制等。
这些方法都基于线性系统的假设,且对噪声具有一定的假设条件。
2.2 非线性系统辨识方法非线性系统辨识是指对非线性系统进行辨识,因为非线性系统的行为较为复杂,因此常常需要更加复杂的模型和算法来进行辨识。
常见的方法包括神经网络、遗传算法等。
2.3 时间序列分析时间序列分析是指对系统输入输出数据在时间上的变化进行分析,用来建立系统的模型。
常用的方法包括自回归模型、移动平均模型等。
2.4 频域分析频域分析是指对系统输入输出数据的频谱进行分析,从而建立频域模型。
常用的方法包括傅里叶变换、功率谱估计等。
三、系统辨识实践练习在进行系统辨识实践练习时,首先需要明确辨识的目标和问题。
然后,收集系统的输入输出数据,并对数据进行预处理,如去噪、插值等。
接下来,选择合适的辨识方法,建立系统的数学模型,并进行参数估计。
最后,对辨识结果进行验证和评估。
系统辨识作业及答案

一. 问答题1. 介绍系统辨识的步骤。
答:(1)先验知识和建模目的的依据;(2)实验设计;(3)结构辨识;(4)参数估计;(5)模型适用性检验。
2. 考虑单输入单输出随机系统,状态空间模型[])()(11)()(11)(0201)1(k v k x k y k u k x k x +=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡=+ 转换成ARMA 模型。
答:ARMA 模型的特点是u(k)=0,[])()(11)()(0201)1(k v k x k y k x k x +=⎥⎦⎤⎢⎣⎡=+3. 设有一个五级移位寄存器,反馈取自第2级和第3级输出的模2加法和。
试说明:(1) 其输出序列是什么? (2) 是否是M 序列?(3) 它与反馈取自第4级与第3级输出模2加法和所得的序列有何不同? (4) 其逆M 序列是什么? 答:(1)设设输入序列1 1 1 1 1111018110107101006010015100114001113011112111111)()()()()()()()(()()()()()()()01110161110115110101410100)13(010011210011110011110011109()()()()()()()001112401110)23(111012211010211010020010011910011180011117()()()()()()()()10011320011131011103000111291101028101002701001261001125 其输出序列为:1 1 1 1 1 0 0 1 0 1⑵不是M 序列⑶第4级与第3级模2相加结果100108001007010006100015000114001113011112111111)()()()()()()()(()()()()()()()11110161110115110101410101)13(010111210110110110010110019()()()()()()()110012410010)23(001002201000211000120000111900111180111117()()()()()()()()01111321111031111013011010291010128010112710110260110025 不同点:第2级和第3级模二相加产生的序列,是从第4时刻开始,每隔7个时刻重复一次;第4级与第3级模2相加产生的,序列,是从第2时刻开始每隔15个时刻重复一次。
系统辨识大作业

系统辨识大作业专业班级:自动化09-3学号:09051325姓名:吴恩作业一:设某物理量Y与X满足关系式2=++,实验获得一批数据Y aX bX c如下表,试辨识模型参数,,a b c。
(15分)解答:问题描述:由题意知,这是一个已知模型为Y=aX2+bX+c,给出了10组实验输入输出数据,要求对模型参数a,b,c进行辨识。
问题求解:这里对该模型参数辨识采用最小二乘法的一次算法(LS)求解。
2=++可以写成矩阵形式Y=AE+e;其中A=[X^2,X,1]构成, Y aX bX c利用matlab不难求解出结果。
运行结果:利用所求的的参数,求出给定的X对应的YE值,列表如下做出上表的图形如下12345678910xyy=ax 2+bx+c 参数求解结果分析:根据运行结果可以看出,拟合的曲线与真是观测的数据有误差,有出入,但是误差较小,可以接受。
出现误差的原因,一方面是由于给出的数据只有十个点,数据量太少,难以真正的充分的计算出其参数,另外,该问题求解采用的是LS 一次算法,因此计算方法本身也会造成相应的误差。
作业二:模仿实验二,搭建对象,由相关分析法,获得脉冲相应序列()g k,由()G z;和传递函数g k,参照讲义,获得系统的脉冲传递函数()G s及应用相关最小二乘法,拟合对象的差分方程模型;加阶跃()扰动,用最小二乘法和带遗忘因子的最小二乘法,辨识二阶差分方程的参数,比较两种方法的辨识差异;采用不少于两种定阶方法,确定对象的阶次。
对象模型如图:利用相关分析法,得到对象的脉冲相应序列。
如下图:(1).由脉冲相应序列,求解系统的脉冲传递函数G(z)Transfer function:0.006072 z^2 + 0.288 z + 0.1671-------------------------------z^2 + 0.1018 z - 0.7509Sampling time: 2(2).由脉冲相应序列求解系统的传递函数G(s)Transfer function:(0.04849+2.494e-018i)-----------------------s^2 + 0.1315 s + 0.6048(3).利用相关最小二乘法拟合系统的差分方程模型如下:(4).在t=100,加入一个0.5的阶跃扰动,,利用RLS求解差分方程模型:RLS加入遗忘因子之后与未加之前的曲线情况如下:未加遗忘因子之前参数以及残差的计算过程加入0.99的遗忘因子得到的参数辨识过程与残差的变化过程根据上面两种方法所得到的误差曲线和参数过渡过程曲线,我们可以看出来利用最小二乘法得到的参数最终趋于稳定,为利用带遗忘因子的最小二乘算法,曲线参数最终还是有小幅度震荡。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统辨识练习题方法一:%递推最小二乘参数估计(RLS)clear all; close all;a=[1 -1.5 0.7]'; b=[1 0.5]'; d=3; %对象参数na=length(a)-1; nb=length(b)-1; %na、nb为A、B阶次L=480; %仿真长度uk=zeros(d+nb,1); %输入初值:uk(i)表示u(k-i)yk=zeros(na,1); %输出初值u=randn(L,1); %输入采用白噪声序列xi=sqrt(0.1)*randn(L,1); %白噪声序列theta=[a(2:na+1);b]; %对象参数真值thetae_1=zeros(na+nb+1,1); %thetae初值P=10^6*eye(na+nb+1);for k=1:Lphi=[-yk;uk(d:d+nb)]; %此处phi为列向量y(k)=phi'*theta+xi(k); %采集输出数据%递推最小二乘法K=P*phi/(1+phi'*P*phi);thetae(:,k)=thetae_1+K*(y(k)-phi'*thetae_1);P=(eye(na+nb+1)-K*phi')*P;%更新数据thetae_1=thetae(:,k);for i=d+nb:-1:2uk(i)=uk(i-1);enduk(1)=u(k);for i=na:-1:2yk(i)=yk(i-1);endyk(1)=y(k);endplot([1:L],thetae); %line([1,L],[theta,theta]);xlabel('k'); ylabel('参数估计a、b');legend('a_1','a_2','b_0','b_1'); axis([0 L -2 2]);方法三:%遗忘因子递推最小二乘参数估计(FFRLS)clear all; close all;a=[1 -1.5 0.7]'; b=[1 0.5]'; d=3; %对象参数na=length(a)-1; nb=length(b)-1; %na、nb为A、B阶次L=1000; %仿真长度uk=zeros(d+nb,1); %输入初值:uk(i)表示u(k-i)yk=zeros(na,1); %输出初值u=randn(L,1); %输入采用白噪声序列xi=sqrt(0.1)*randn(L,1); %白噪声序列thetae_1=zeros(na+nb+1,1); %thetae初值P=10^6*eye(na+nb+1);lambda=0.98; %遗忘因子范围[0.9 1]for k=1:Lif k==501a=[1 -1 0.4]';b=[1.5 0.2]'; %对象参数突变endtheta(:,k)=[a(2:na+1);b]; %对象参数真值phi=[-yk;uk(d:d+nb)];y(k)=phi'*theta(:,k)+xi(k); %采集输出数据%遗忘因子递推最小二乘法K=P*phi/(lambda+phi'*P*phi);thetae(:,k)=thetae_1+K*(y(k)-phi'*thetae_1);P=(eye(na+nb+1)-K*phi')*P/lambda;%更新数据thetae_1=thetae(:,k);for i=d+nb:-1:2uk(i)=uk(i-1);enduk(1)=u(k);for i=na:-1:2yk(i)=yk(i-1);endyk(1)=y(k);endsubplot(1,2,1)plot([1:L],thetae(1:na,:)); hold on; plot([1:L],theta(1:na,:),'k:');xlabel('k'); ylabel('参数估计a');legend('a_1','a_2'); axis([0 L -2 2]);subplot(1,2,2)plot([1:L],thetae(na+1:na+nb+1,:)); hold on; plot([1:L],theta(na+1:na+nb+1,:),'k:'); xlabel('k'); ylabel('参数估计b');legend('b_0','b_1'); axis([0 L -0.5 2]);方法四:%递推极大似然参数估计(RML)clear all; close all;a=[1 -1.5 0.7]'; b=[1 0.5]'; c=[1 -0.5]'; d=1; %对象参数na=length(a)-1; nb=length(b)-1; nc=length(c)-1; %na、nb、nc为A、B、C阶次nn=max(na,nc); %用于yf(k-i)、uf(k-i)更新L=480; %仿真长度uk=zeros(d+nb,1); %输入初值:uk(i)表示u(k-i)yk=zeros(na,1); %输出初值xik=zeros(nc,1); %白噪声初值xiek=zeros(nc,1); %白噪声估计初值yfk=zeros(nn,1); %yf(k-i)ufk=zeros(nn,1); %uf(k-i)xiefk=zeros(nc,1); %ξf(k-i)u=randn(L,1); %输入采用白噪声序列xi=randn(L,1); %白噪声序列thetae_1=zeros(na+nb+1+nc,1); %参数估计初值P=eye(na+nb+1+nc);for k=1:Ly(k)=-a(2:na+1)'*yk+b'*uk(d:d+nb)+c'*[xi(k);xik]; %采集输出数据%构造向量phi=[-yk;uk(d:d+nb);xiek];xie=y(k)-phi'*thetae_1;phif=[-yfk(1:na);ufk(d:d+nb);xiefk];%递推极大似然参数估计算法K=P*phif/(1+phif'*P*phif);thetae(:,k)=thetae_1+K*xie;P=(eye(na+nb+1+nc)-K*phif')*P;yf=y(k)-thetae(na+nb+2:na+nb+1+nc,k)'*yfk(1:nc); %yf(k)uf=u(k)-thetae(na+nb+2:na+nb+1+nc,k)'*ufk(1:nc); %uf(k)xief=xie-thetae(na+nb+2:na+nb+1+nc,k)'*xiefk(1:nc); %xief(k)%更新数据thetae_1=thetae(:,k);for i=d+nb:-1:2uk(i)=uk(i-1);enduk(1)=u(k);for i=na:-1:2yk(i)=yk(i-1);endyk(1)=y(k);for i=nc:-1:2xik(i)=xik(i-1);xiek(i)=xiek(i-1);xiefk(i)=xiefk(i-1);endxik(1)=xi(k);xiek(1)=xie;xiefk(1)=xief;for i=nn:-1:2yfk(i)=yfk(i-1);ufk(i)=ufk(i-1);endyfk(1)=yf;ufk(1)=uf;endfigure(1)plot([1:L],thetae(1:na,:),[1:L],thetae(na+nb+2:na+nb+1+nc,:)); xlabel('k'); ylabel('参数估计a、c');legend('a_1','a_2','c_1'); axis([0 L -2 2]);figure(2)plot([1:L],thetae(na+1:na+nb+1,:));xlabel('k'); ylabel('参数估计b');legend('b_0','b_1'); axis([0 L 0 1.5])自适应控制习题(1) %可调增益MIT-MRACclear all; close all;h=0.1; L=100/h; %数值积分步长、仿真步数num=[1]; den=[1 1 1]; n=length(den)-1; %对象参数kp=1; [Ap,Bp,Cp,Dp]=tf2ss(kp*num,den); %传递函数型转换为状态空间型km=1; [Am,Bm,Cm,Dm]=tf2ss(km*num,den); %参考模型参数gamma=0.1; %自适应增益yr0=0; u0=0; e0=0; ym0=0; %初值xp0=zeros(n,1); xm0=zeros(n,1); %状态向量初值kc0=0; %可调增益初值r=0.1; yr=r*[ones(1,L/4) -ones(1,L/4) ones(1,L/4) -ones(1,L/4)]; %输入信号for k=1:Ltime(k)=k*h;xp(:,k)=xp0+h*(Ap*xp0+Bp*u0);yp(k)=Cp*xp(:,k)+Dp*u0; %计算ypxm(:,k)=xm0+h*(Am*xm0+Bm*yr0);ym(k)=Cm*xm(:,k)+Dm*yr0; %计算yme(k)=ym(k)-yp(k); %e=ym-ypkc=kc0+h*gamma*e0*ym0; %MIT自适应律u(k)=kc*yr(k); %控制量%更新数据yr0=yr(k); u0=u(k); e0=e(k); ym0=ym(k);xp0=xp(:,k); xm0=xm(:,k);kc0=kc;endplot(time,ym,'r',time,yp,':');xlabel('t'); ylabel('y_m(t)、y_p(t)');%axis([0 L*h -10 10]);legend('y_m(t)','y_p(t)');(2)%可调增益MIT-MRACclear all; close all;h=0.1; L=100/h; %数值积分步长、仿真步数num=[1]; den=[1 1 1]; n=length(den)-1; %对象参数kp=1; [Ap,Bp,Cp,Dp]=tf2ss(kp*num,den); %传递函数型转换为状态空间型km=1; [Am,Bm,Cm,Dm]=tf2ss(km*num,den); %参考模型参数gamma=0.1; %自适应增益yr0=0; u0=0; e0=0; ym0=0; %初值xp0=zeros(n,1); xm0=zeros(n,1); %状态向量初值kc0=0; %可调增益初值r=1; yr=r*[ones(1,L/4) -ones(1,L/4) ones(1,L/4) -ones(1,L/4)]; %输入信号for k=1:Ltime(k)=k*h;xp(:,k)=xp0+h*(Ap*xp0+Bp*u0);yp(k)=Cp*xp(:,k)+Dp*u0; %计算ypxm(:,k)=xm0+h*(Am*xm0+Bm*yr0);ym(k)=Cm*xm(:,k)+Dm*yr0; %计算yme(k)=ym(k)-yp(k); %e=ym-ypkc=kc0+h*gamma*e0*ym0; %MIT自适应律u(k)=kc*yr(k); %控制量%更新数据yr0=yr(k); u0=u(k); e0=e(k); ym0=ym(k);xp0=xp(:,k); xm0=xm(:,k);kc0=kc;endplot(time,ym,'r',time,yp,':');xlabel('t'); ylabel('y_m(t)、y_p(t)');%axis([0 L*h -10 10]);legend('y_m(t)','y_p(t)');(3)(1)%可调增益MIT-MRAC归一化算法clear all; close all;h=0.1; L=100/h; %数值积分步长和仿真步数num=[1]; den=[1 1 1]; n=length(den)-1; %对象参数kp=1; [Ap,Bp,Cp,Dp]=tf2ss(kp*num,den); %传递函数型转换为状态空间型km=1; [Am,Bm,Cm,Dm]=tf2ss(km*num,den); %参考模型参数gamma=0.1; %自适应增益alpha=0.01; beta=2;yr0=0; u0=0; e0=0; ym0=0; %初值xp0=zeros(n,1); xm0=zeros(n,1); %状态向量初值kc0=0; %可调增益初值r=0.1; yr=r*[ones(1,L/4) -ones(1,L/4) ones(1,L/4) -ones(1,L/4)]; %输入信号for k=1:Ltime(k)=k*h;xp(:,k)=xp0+h*(Ap*xp0+Bp*u0);yp(k)=Cp*xp(:,k)+Dp*u0; %计算ypxm(:,k)=xm0+h*(Am*xm0+Bm*yr0);ym(k)=Cm*xm(:,k)+Dm*yr0; %计算yme(k)=ym(k)-yp(k); %e=ym-ypDD=e0*ym0/km/(alpha+(ym0/km)^2);if DD<-betaDD=-beta;endif DD>betaDD=beta;endkc=kc0+h*gamma*DD; %MIT自适应律u(k)=kc*yr(k); %控制量%更新数据yr0=yr(k); u0=u(k); e0=e(k); ym0=ym(k);xp0=xp(:,k); xm0=xm(:,k);kc0=kc;endplot(time,ym,'r',time,yp,':');xlabel('t'); ylabel('y_m(t)、y_p(t)');legend('y_m(t)','y_p(t)');(2)%可调增益MIT-MRAC归一化算法clear all; close all;h=0.1; L=100/h; %数值积分步长和仿真步数num=[1]; den=[1 1 1]; n=length(den)-1; %对象参数kp=1; [Ap,Bp,Cp,Dp]=tf2ss(kp*num,den); %传递函数型转换为状态空间型km=1; [Am,Bm,Cm,Dm]=tf2ss(km*num,den); %参考模型参数gamma=0.1; %自适应增益alpha=0.01; beta=2;yr0=0; u0=0; e0=0; ym0=0; %初值xp0=zeros(n,1); xm0=zeros(n,1); %状态向量初值kc0=0; %可调增益初值r=1; yr=r*[ones(1,L/4) -ones(1,L/4) ones(1,L/4) -ones(1,L/4)]; %输入信号for k=1:Ltime(k)=k*h;xp(:,k)=xp0+h*(Ap*xp0+Bp*u0);yp(k)=Cp*xp(:,k)+Dp*u0; %计算ypxm(:,k)=xm0+h*(Am*xm0+Bm*yr0);ym(k)=Cm*xm(:,k)+Dm*yr0; %计算yme(k)=ym(k)-yp(k); %e=ym-ypDD=e0*ym0/km/(alpha+(ym0/km)^2);if DD<-betaDD=-beta;endif DD>betaDD=beta;endkc=kc0+h*gamma*DD; %MIT自适应律u(k)=kc*yr(k); %控制量%更新数据yr0=yr(k); u0=u(k); e0=e(k); ym0=ym(k);xp0=xp(:,k); xm0=xm(:,k);kc0=kc;endplot(time,ym,'r',time,yp,':');xlabel('t'); ylabel('y_m(t)、y_p(t)');legend('y_m(t)','y_p(t)');。