非线性模型辨识

合集下载

基于TS模型的非线性系统模糊辨识算法

基于TS模型的非线性系统模糊辨识算法

V 12 N . o.9 o6 D c 2 1 e.0 0
基于 T S模 型 的非 线 性 系统 模 糊 辨识 算 法
张 伟 ,张 蛟 龙 , 宋运 忠
440 ) 5 0 0 ( 南 理 工 大 学 电 气 工 程 与 自动 化 学 院 ,河 南 焦 作 河
摘要 :对一 类采 样数 据较 均 匀的非 线性 系统 ,提 出一 种基 于 T s模 型 的 系统 辨 识 算 法. 首 先 利 用等 分 区间法 对输入 空间进 行前 提 结构 的划 分 ,并根据 所 选定 的 隶属度 函数 确 定每 个输入
0 引 言
在 实 际的工 业过 程控 制 中 ,经常存 在各 种 各样 的非 线性 、干 扰及 不确 定 性等 因素 ,传 统 的建模 方
法很 难 建立起 系 统 的数学 模 型. 而模糊 建模 适 于表 达复 杂 系统 的动 态特性 ,已经成 为 非线 性 系统建模 中的一 种重 要工 具 H .在模 糊 模 型 中较 流 行 的是 T k g —S gn aa i u eo模 型 严格证 明 T s模糊 模 型可 以任 意精 度 逼近 定义 在 紧致集 上 的非线 性 函数 接起来 ,形成 描述 非线 性 函数 的全 局模糊 模 型 . ( 称 T 简 S模 型 ) ,有 学 者 已 .T S模 型类 似 于一 个 近似
A b t a t An i e t c to lo ih b s d o u z o e sp o o e o h o ln a y t ms Fis . sr c : d n i ai n a g rt m a e n TS f z y m d lwa r p s d frt e n n i e rs se i f rt
S mu a in r s lss o t a h t d i fe tv nd hih rp e iin. i l t e u t h w h tte meho s ef cie a g e r c so o

非线性材料力学模型与参数辨识方法研究

非线性材料力学模型与参数辨识方法研究

非线性材料力学模型与参数辨识方法研究在材料力学领域中,非线性材料的研究一直是一个重要的课题。

非线性材料的力学行为与传统的线性材料不同,其力学模型和参数辨识方法也具有一定的特殊性。

本文将探讨非线性材料力学模型的建立和参数辨识方法的研究。

一、非线性材料力学模型的建立非线性材料力学模型的建立是研究非线性材料力学行为的基础。

目前常用的非线性材料力学模型有弹塑性模型、本构模型和损伤模型等。

1. 弹塑性模型弹塑性模型是最常用的非线性材料力学模型之一。

它考虑了材料在加载过程中的弹性变形和塑性变形。

在弹性阶段,材料的应力与应变呈线性关系;而在塑性阶段,材料的应力与应变不再呈线性关系,而是通过塑性应变来描述。

2. 本构模型本构模型是描述材料力学行为的数学模型。

常见的本构模型有线性弹性模型、非线性弹性模型和粘弹性模型等。

其中,非线性弹性模型考虑了材料的非线性特性,可以更准确地描述材料的力学行为。

3. 损伤模型损伤模型是描述材料在加载过程中发生损伤的模型。

材料在受力作用下可能会发生损伤,导致材料的强度和刚度降低。

损伤模型可以通过损伤变量来描述材料的损伤程度,从而预测材料的破坏行为。

二、参数辨识方法的研究非线性材料力学模型的建立离不开参数辨识方法的研究。

参数辨识是指通过实验数据来确定材料力学模型中的参数。

常见的参数辨识方法有试验法、优化算法和反问题求解法等。

1. 试验法试验法是最常用的参数辨识方法之一。

它通过对材料进行实验,测量材料在不同加载条件下的应力和应变数据,然后利用这些数据来拟合模型参数。

试验法的优点是简单易行,但需要大量的实验数据和较长的实验时间。

2. 优化算法优化算法是一种通过最小化误差函数来确定模型参数的方法。

常见的优化算法有遗传算法、粒子群算法和模拟退火算法等。

这些算法通过不断迭代,寻找最优参数组合,使得模型预测结果与实验数据的误差最小化。

3. 反问题求解法反问题求解法是一种通过反推模型参数来确定参数值的方法。

第02讲系统辨识三要素

第02讲系统辨识三要素

第02讲系统辨识三要素系统辨识是指通过对系统输入和输出数据的观测和分析,求解出系统的数学模型的过程。

系统辨识主要有两种方法:非参数辨识和参数辨识。

在进行参数辨识时,需要确定三个基本要素,分别是模型结构、参数估计方法和误差分析方法。

本文将详细介绍这三个要素。

首先,模型结构是系统辨识的核心要素之一、模型结构决定了辨识出的数学模型与实际系统之间的对应关系。

模型结构的选择需要根据实际问题和已有的知识和经验来确定。

常用的模型结构包括线性模型、非线性模型、时变模型等。

例如,对于一个物理系统来说,可以尝试使用一阶惯性环节、二阶惯性环节等常见的线性模型结构进行辨识;对于一个生物系统来说,可以采用Lotka-Volterra模型等非线性模型结构进行辨识。

选择合适的模型结构可以提高系统辨识的精度和可靠性。

其次,参数估计方法是指在给定模型结构的情况下,通过对系统输入和输出数据进行处理和分析,求解出模型参数的过程。

参数估计方法分为两类:最小二乘法和最大似然法。

最小二乘法通过最小化观测数据与模型预测数据之间的残差平方和来估计模型参数;最大似然法通过最大化观测数据的似然函数来估计模型参数。

当观测数据服从高斯分布时,最小二乘法和最大似然法等效。

参数估计方法的选择需要根据数据性质和实际问题来确定。

对于小样本数据,最大似然法常常具有更好的效果;对于大样本数据,最小二乘法通常是更好的选择。

最后,误差分析方法是指用来评估辨识结果的准确性和可信度的方法。

误差分析方法主要包括残差分析、模型检验和辨识结果评价等。

残差分析是通过分析辨识结果与观测数据之间的差异来评估模型拟合程度的方法。

模型检验是通过将辨识结果应用到实际应用中,观察其预测能力和鲁棒性来评价模型的有效性。

辨识结果评价是通过计算模型的性能指标,如均方误差、决定系数等来评估辨识结果的准确性和可靠性。

误差分析方法的选择需要根据实际问题和辨识结果的要求来确定。

对于较为简单的问题,可以选择较为简单的误差分析方法;对于复杂的问题,需要选择更为精确和全面的误差分析方法。

神经网络非线性系统辨识与模型参考自适应控制器设计

神经网络非线性系统辨识与模型参考自适应控制器设计

试论述神经网络系统建模的几种基本方法。

利用BP 网络对以下非线性系统进行辨识。

非线性系统22()(2(1)1)(1)()1()(1)y k y k y k u k y k y k -++=+++-1)首先利用u(k)=sin(2*pi*k/3)+1/3*sin(2*pi*k/6),产生样本点500,输入到上述系统,产生y(k), 用于训练BP 网络;2)网络测试,利用u(k)=sin(2*pi*k/4)+1/5*sin(2*pi*k/7), 产生测试点200,输入到上述系统,产生y(k), 检验BP/RBF 网络建模效果。

3)利用模型参考自适应方法,设计NNMARC 控制器,并对周期为50,幅值为+/- 的方波给定,进行闭环系统跟踪控制仿真,检验控制效果(要求超调<5%)。

要求给出源程序和神经网络结构示意图,计算结果(权值矩阵),动态过程仿真图。

1、系统辨识题目中的非线性系统可以写成下式:22()(2(1)1)(1)()();()1()(1)y k y k y k f u k f y k y k -++=•+•=++- 使用BP 网络对非线性部分()f •进行辨识,网络结构如图所示,各层神经元个数分别为2-8-1,输入数据为y(k-1)和y(k-2),输出数据为y(k)。

图 辨识非线性系统的BP 网络结构使用500组样本进行训练,最终达到设定的的误差,训练过程如图所示图网络训练过程使用200个新的测试点进行测试,得到测试网络输出和误差结果分别如下图,所示。

从图中可以看出,相对训练数据而言,测试数据的辨识误差稍微变大,在±0.06范围内,拟合效果还算不错。

图使用BP网络辨识的测试结果图使用BP网络辨识的测试误差情况clear all;close all;%% 产生训练数据和测试数据U=0; Y=0; T=0;u_1(1)=0; y_1(1)=0; y_2(1)=0;for k=1:1:500 %使用500个样本点训练数据U(k)=sin(2*pi/3*k) + 1/3*sin(2*pi/6*k);T(k)= y_1(k) * (2*y_2(k) + 1) / (1+ y_1(k)^2 + y_2(k)^2); %对应目标值Y(k) = u_1(k) + T(k); %非线性系统输出,用于更新y_1if k<500u_1(k+1) = U(k); y_2(k+1) = y_1(k); y_1(k+1) = Y(k); endendy_1(1)=; y_1(2)=0;y_2(1)=0; y_2(2)=; y_2(3)=0; %为避免组合后出现零向量,加上一个很小的数X=[y_1;y_2];save('traindata','X','T');clearvars -except X T ; %清除其余变量U=0; Y=0; Tc=0;u_1(1)=0; y_1(1)=0; y_2(1)=0;for k=1:1:200 %使用500个样本点训练数据U(k)=sin(2*pi/4*k) + 1/5*sin(2*pi/7*k); %新的测试函数Y(k) = u_1(k) + y_1(k) * (2*y_2(k) + 1) / (1+ y_1(k)^2 + y_2(k)^2); if k<200u_1(k+1) = U(k); y_2(k+1) = y_1(k); y_1(k+1) = Y(k); endendTc=Y; Uc=u_1;y_1(1)=; y_1(2)=0;y_2(1)=0; y_2(2)=; y_2(3)=0; %为避免组合后出现零向量,加上一个很小的数Xc=[y_1;y_2];save('testdata','Xc','Tc','Uc'); %保存测试数据clearvars -except Xc Tc Uc ; %清除其余变量,load traindata; load testdata; %加载训练数据和测试数据%% 网络建立与训练[R,Q]= size(X); [S,~]= size(T); [Sc,Qc]= size(Tc);Hid_num = 8; %隐含层选取8个神经元较合适val_iw =rands(Hid_num,R); %隐含层神经元的初始权值val_b1 =rands(Hid_num,1); %隐含层神经元的初始偏置val_lw =rands(S,Hid_num); %输出层神经元的初始权值val_b2 =rands(S,1); %输出层神经元的初始偏置net=newff(X,T,Hid_num); %建立BP神经网络,使用默认参数 %设置训练次数= 50;%设置mean square error,均方误差,%设置学习速率{1,1}=val_iw; %初始权值和偏置{2,1}=val_lw;{1}=val_b1;{2}=val_b2;[net,tr]=train(net,X,T); %训练网络save('aaa', 'net'); %将训练好的网络保存下来%% 网络测试A=sim(net,X); %测试网络E=T-A; %测试误差error = sumsqr(E)/(S*Q) %测试结果的的MSEA1=sim(net,Xc); %测试网络Yc= A1 + Uc;E1=Tc-Yc; %测试误差error_c = sumsqr(E1)/(Sc*Qc) %测试结果的的MSEfigure(1);plot(Tc,'r');hold on;plot(Yc,'b'); legend('exp','act'); xlabel('test smaple'); ylabel('output') figure(2); plot(E1);xlabel('test sample'); ylabel('error')2、MRAC 控制器被控对象为非线性系统:22()(2(1)1)(1)()();()1()(1)y k y k y k f u k f y k y k -++=•+•=++- 由第一部分对()f •的辨识结果,可知该非线性系统的辨识模型为:(1)[(),(1)]()I p y k N y k y k u k +=-+可知u(k)可以表示为(1)p y k +和(),(1)y k y k -的函数,因此可使用系统的逆模型进行控制器设计。

基于改进遗传算法的单元机组非线性模型参数辨识

基于改进遗传算法的单元机组非线性模型参数辨识

基 于 改进 遗 传 算 法 的单 元 机 组 非线 性 模 型 参 数 辨 识
任贵 杰 李平康 赵志刚2龙俊峰2 , , ,
(. 1 北京交通大学 机械与 电子控制工程学 院 , 北京 10 4 ; 0 0 4 2 内蒙古大唐国际托克托第二发 电有 限责任公 司,内蒙古 托克托 0 0 0 ) . 12 6
Ab ta tAi n tc aa tr ft efsi f e o rpa tu i a d te p eo iu , n c lbl y sr c : mig a h rceso h osl i d p we ln nt n h r cco s a d saa it —r i p o lmso h e ei ag rtm ob xi e t yn lv r ben nie rs se p rm ee s h rbe ft eg n tc lo i h t l i n i igmut a i l o l a y tm aa tr ,te o o nd f i a n g n t lo i m ob x wa m po e , t en n ie rd n mi mo e sc o e st esu y s b e e i ag r h t lo si rv d h o l a y a c c t o n dl wa h sn a h td u —
参数 辨识 具有 良好 的适 应性 , 辨识 得 到的模 型是 有 效可 靠的 .
关键词 : 单元机组模型 ; 遗传算法; 参数辨识 中图分 类 号 : K3 3 T 2 文献标 志码 : A
Pa a e e s i e tf c to f t r a o r u tp a t r m t r d n i i a i n o he m lp we ni l n n nln a o e s d o m pr v d g ne i l o ih o i e r m d lba e n i o e e tc a g r t m

【文献综述】非线性Hammerstein模型的辨识

【文献综述】非线性Hammerstein模型的辨识

(LSE —SVD),仅需假设输入为持续激励,并可获得在有噪声情况下系统的有效辨识,但这种算法只在被控对象可无误差的分解为非线性和线性环节且非线性部分的基先验已知时,且最小二乘所得参数矩阵的秩为l ,才能保证辨识误差在额定范围内,否则辨识误差将受到参数矩阵其他特征值干扰,无法保证辨识落入允许范围;第四类是参]5[数过度化法,是使Hamerstein 系统过度参数化,从而在未知参数下过度参数化的系]7,6[统就线性化了,然后就可以使用线性估计算法进行辨识,这种方法的难点在于所得到的线性系统维数可能很大,因此系统的收敛性和鲁棒性就可能成问题;第五类子空间辨识法,通常适用于多输入、多输出的非线性系统的辨识。

]9,8[在近年来的研究中,基于群集智能方法的发展,越来越多演化计算技术被应用到复杂系统辨识当中。

如蚁群算法(ACO ),粒子群优化(PSO )算法和细菌觅食(BFO )优化算法等在Hammerstein 模型的辨识中得到了广泛的发展和应用,其理论也在不断地改进和完善。

下面简要介绍下粒子群优化(PSO )算法和细菌觅食(BFO )优化算法。

1. 粒子群优化PSO 算法1995年,Kennedy 和Eberhar 提出一种较为新颖的优化算法—— 粒子群优化算]11,10[法(ParticleSwarm Optimization ,PSO)。

该算法与蚁群算法(AntColony Optimization ,ACO)相似,也是一种基于群体智能(Swarm Intelligence ,SI)的优化算法,即模拟鸟群觅食的过程,而其功能与遗传算法(Genetic Algorithm ,GA)非常相似。

PSO 优化算法起源于对简单社会系统的模拟,PSO 算法是一种有效的解决优化问题的群集智能算法,它的突出特点是算法中需要选择的参数少,程序实现简单,并在种群数量、寻优速度等方面较其他进化算法具有一定的优势,尤其是在高噪信比情况下,也收到较满意的结果。

无人艇非线性K-T模型参数辨识算法

无人艇非线性K-T模型参数辨识算法

无人艇非线性K-T模型参数辨识算法陈霄;刘忠;姜晓政;董蛟【摘要】无人艇作为一种小型水面智能任务平台,具有机动性好、隐蔽性强、自动化程度高等优点,已成为国内外的研究热点.无人艇操纵模型作为实现其自主航行、智能避障等控制的基础,其辨识精度的优劣直接影响最终控制效果的好坏.为克服无人艇操纵模型辨识过程中的“参数相消”效应,提高辨识精度,提出了一种基于分步实艇数据处理的模型参数辨识算法,详细给出了辨识算法的步骤和流程,通过实际的湖上操纵性试验,依次得到模型参数.最后,分别利用所辨识出的无人艇操纵模型和实艇进行操舵仿真试验及湖上试验,通过实艇试验数据和仿真结果对比,验证了所辨识模型的正确性.【期刊名称】《电光与控制》【年(卷),期】2018(025)008【总页数】5页(P28-31,77)【关键词】无人艇;K-T模型;回转和Z形试验;参数辨识【作者】陈霄;刘忠;姜晓政;董蛟【作者单位】海军工程大学电子工程学院,武汉430000;海军工程大学电子工程学院,武汉430000;海军工程大学电子工程学院,武汉430000;海军工程大学电子工程学院,武汉430000【正文语种】中文【中图分类】TP2420 引言无人水面艇(Unmanned Surface Vehicle,USV,简称为无人艇)作为一类在复杂海洋环境下自主航行完成各种使命任务的运载平台,与无人机、无人车和无人潜航器组成四大无人运载系统[1],具有机动性好、隐蔽性强、自动化程度高、无人员伤亡等优势,在军事和民用领域具有广阔的应用前景[2]。

无人艇的自主航行、自动避碰等运动控制问题已成为国内外研究的热点。

无人艇自主航行等效果的好坏不仅依赖于各种先进的控制算法,还取决于被控对象模型的辨识精度,因此获取无人艇模型是设计各类运动控制器的基础,也是研究无人艇自主控制技术的核心问题之一[3]。

系统辨识的方法通常被用于线性和非线性模型参数的确定,主要包括最小二乘及扩展最小二乘法[4]、极大似然估计法[5]、扩展卡尔曼滤波法[6]、模型参考自适应法[7]、梯度校正法[8]及基于人工智能辨识算法[9]等。

模型参数辨识方法

模型参数辨识方法

模型参数辨识方法模型参数辨识方法是指通过收集实际数据,利用统计学和机器学习的方法来估计和确定数学模型中的参数。

在实际应用中,模型参数辨识是非常重要的,因为准确的参数估计可以提高模型的预测性能,并能够帮助决策者做出更准确的决策。

1.经典参数辨识方法:a.最小二乘法:最小二乘法是最常用的参数辨识方法之一、它通过最小化预测值和实际观测值之间的差异来确定最优参数。

最小二乘法可以用于线性和非线性系统的参数估计。

b.极大似然估计:极大似然估计是一种基于统计学原理的参数估计方法。

它基于样本数据的概率分布来估计模型参数,寻找使观测数据出现的概率最大的参数值。

c.系统辨识方法:系统辨识方法是一种通过建立模型来估计系统参数的方法。

包括基于频域的频率辨识方法,如频域最小二乘法和递推最小二乘法;以及基于时间域的时域辨识方法,如ARMA模型和ARIMA模型。

2.基于机器学习的参数辨识方法:a.支持向量机(SVM):SVM是一种常用的机器学习方法,可以用于参数辨识。

通过将数据映射到高维空间,并在该空间中找到最优的超平面来进行分类或回归任务。

b.神经网络:神经网络是一种模仿人脑神经元功能的机器学习模型。

可以通过调整神经网络的权重和偏置来估计模型参数。

c.遗传算法:遗传算法是一种模拟进化过程的优化算法,能够用于参数辨识。

通过模拟遗传操作(选择、交叉和变异)来最优参数。

d.贝叶斯方法:贝叶斯方法是一种基于贝叶斯定理的参数辨识方法。

它通过考虑先验知识和观测数据来估计后验概率分布,从而得到参数的估计值。

无论是经典参数辨识方法还是基于机器学习的参数辨识方法,都需要收集和准备大量的实际数据作为输入,然后应用适当的算法来估计模型参数。

模型参数辨识的准确性和稳定性取决于数据的质量和所采用的方法的适用性。

因此,在进行模型参数辨识之前,需要进行数据预处理和分析,选择适合的参数辨识方法,并评估估计结果的可靠性和有效性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非线性模型辨识
张慧勇 S082121 Identification of a nonlinear system represented by the following simple Hammerstein model.
G(s)
1 1 2s v(t ) 2 u (t ) 0.5u 2 (t )
五、模型验证
在 matlab 的 simulink 中构造给定模型和假定模型(如图 6 ) ,对给定模型与假 定模型的输出进行比较,来测试假定模型是否合适。
图 6 模型验证的 simulink 图
图 6 中 零阶保持器(Zero-Order Hold)中的 Sample time 设置为 0.4;离散传 递函数中的 Sample time 设置为 0.2;To Workspace 中的 Sample time 设置为 0.2;PRTS 测试信号要从 workspace 中导入。
p 为输入u为参数的函数。
二、 稳态分析
在不同的阶跃输入下,测设系统的稳态输出,记录如下表;
阶跃输入u -20 -15 -10 -5 -3 -2 -1 0 稳态输出p 182.00 99.50 42.00 9.50 3.50 2.00 1.50 2.00 表 1 不同阶跃输入对应的稳态输出 阶跃输入u 20 15 10 5 3 2 1 稳态输出p 222.00 129.50 62.00 19.50 9.50 6.00 3.50
ˆ (k ) 表示假定模型输出的采样数 用 y (k ) 表示系统给定模型输出的采样数据 , y ˆ (k ) 绘制如图 7 据, y (k ) 与 y
图 7 系统模型与假定模型的输出曲线
ˆ (k ) 表示系统模型与假定模型的输出误差, e(k ) 绘制如图8 e(k ) y(k ) y
图 8 系统模型与假定模型的输出误差曲线
三、动态分析
y(t ) p(1 e qt ) 可以视为阶跃输入为 u(t ) p 的输出函数,u(t ) p 的拉普拉斯变
换 为 U ( s)
G(s)
p p , 输 出 y(t) 的 拉 普 拉 斯 变 换 为 Y (s) , s s( s / q 1)
Y ( s) 1 ,该模型的动态部分是一阶系统,因此假设系统动态部分 U ( s) s / q 1
由最小二乘法可得 C ( AT A)1 AT Y ,求的 c1 0.9048, c2 0.0952 离散模型为 y(k ) 0.9048 y(k 1) 0.0952 p(k 1) , p(k ) 0.5u 2 (k ) u(k ) 2
模型动态部分的 Z 变换为
四、模型测试信号
前文假设的模型的多项式稳态只有 2 阶,因此构造 PRTS 作为模型的测试信 号,来验证假定模型。 设 PRTS 的时钟周期为 Te 0.4s ,信号的周期数 Np 3T95 / Te ; 取 Np 80 , 80 r nr 1 3nr 1 nr 4 ,需要 4 个移位寄存器; PRTS 信号的时间周期长 Np Te 80*0.4s 32s ; PRTS 信号的差分方程为:
y(t)
两模型输出比较的 Matlab 程序
t=simout(:,1);%从 workspace 中读入时间 u=simout(:,2);% 从 workspace 中读入输入
y1=simout(:,3);% 从 workspace 中读入系统模型输出 y2=simout(:,4);% 从 workspace 中读入假定模型输出 figure(1) plot(t,y1,'r'); hold on plot(t,y2,'*') grid on xlabel('时间') ylabel('输出') legend('系统模型输出','假定模型输出') figure(2) e=y1-y2; plot(t,e,'r') grid on xlabel('时间') ylabel('误差') title('误差曲线')
Gz=zpk([],0.9048,0.0952,0.2) Gs=d2c(Gz)
模型动态部分为: G( s) 系统连续模型为
0.50021 1 s 0.5002 1.9992s 1.0000
u(t)
0.5u (t ) u(t ) 2
2
p(t)
1 1.9992s 1.0000
一、 数据采样分析
在matlab的simulink中构造给定模型(如图1), 并利用给定模型产生数据 (如图2) , 将采样数据导入Workspace,通过分析该数据来辨识系统模型。
图1 给定Hammerstein model 的simulink图
图2 simulink中数据采样图
采样时间取为0.2s,将图2中To Workspace中的sample time设置为0.2即可。 输入 u0 (t ) 0 时,输出的采样数据记为 y0 (k ) ; 输入 u1 (t ) 1 时,输出的采样数据记为 y1 (k ) ; 输入 u2 (t ) 2u1 (t ) 2 时,输出的采样数据记为 y2 (k ) 。
的离散模型为 y(k ) c1 y(k 1) c2 p(k 1) ,其中 p(k ) 0.5u 2 (k ) u(k ) 2
令 C [c1
c2 ]T
p(1) M p(k 1) M p ( N 1)
y (2) y (1) M M 令 Y y ( k ) , A y (k 1) M M y( N ) y ( N 1)
where G( s) is the transfer function of the linear dynamic part, v(t ) is the nonlinear static part. 1) Design the experiment: test signal, sample time etc. 2) Use the given model to generate data. 3) Estimate the parameters. 4) Validate the model. 5) Write a report on the identification procedure, results and analysis including the programs.
x(k ) c1 3 x(k 1) 3 c2 3 x(k 2) 3 c3 3 x(k 3) 3 c4 3 x(k 4) , k 4
其中 c1 0, c2 0, c3 1, c4 1 初值 x(0) 0, x(1) 1, x(2) 2, x(3) 1
根据上表绘出不同阶跃输入对应的稳态输出图,如图 4 左,由图可以看出像一抛 物线,因此进行二次曲线拟合。 设 p c1u 2 c2u c3 ,用最小二乘法求系数 c1 c2 令 C [c1 c2
c3
c3 ]T , A [u 2
u 1]
1.0000
(u,p 都为列向量) 2.0000],拟合曲线如图 4 右;由图可以
u=[-20,-15,-10,-5,-3,-2,-1,0,1,2,3,5,10,15,20]'; p=[182.00 99.50 42.00 9.50 3.50 2.00 1.50 2.00 3.50 6.00 9.50 19.50 62.00 129.50 222.00]'; subplot(1,2,1) plot(u,p,'*') grid on xlabel('阶跃输入 ') ylabel('稳态输出 ') A=[u.^2,u,ones(15,1)]; c=inv(A'*A)*A'*p %c=polyfit(u,p,2) u1=-22:1:22; p1=polyval(c,u1); subplot(1,2,2) plot(u,p,'*') hold on plot(u1,p1,'r') grid on axis([-22 22 -10 250]) xlabel('阶跃输入 ') ylabel('稳态输出 ')
(k )
y2 (k ) y0 (k ) 2.667 2 y1 (k ) y0 (k )
因此该系统模型为非线性模型。 采样数据 y0 (k ) , y1 (k ) , y2 (k ) 绘制如图3
ቤተ መጻሕፍቲ ባይዱ
图3、阶跃输入的系统输出图
由图3可以看出输出曲线也可用函数 y p(1 e qt ) 来描述,其中 q 0 描述输 出的动态部分,当时间 t增大时,输出y将趋近于 p , 因此 p 描述输出的稳态部分,
图 5 周期数为 80 的 PRTS 信号
PRTS 信号产生的 Matlab 程序
%PRTS N=160; Ts=0.4;%时钟周期 x=zeros(1,N); c1=0;c2=0;c3=1;c4=1; x(1)=0;x(2)=1;x(3)=2;x(4)=1; for k=5:N x(k)=c1*x(k-1); x(k)=mod(x(k),3)+mod(c2*x(k-2),3); x(k)=mod(x(k),3)+mod(c3*x(k-3),3); x(k)=mod(x(k),3)+mod(c4*x(k-4),3); x(k)=mod(x(k),3); end time=0:Ts:(N-1)*Ts; signal=[time',x'];
G( z )
c z 1 y( z ) 0.0952 z 1 0.0952 ,采样时间为 0.2s 2 1 1 p( z ) 1 c1 z 1 0.9048 z z 0.9048
相关文档
最新文档