广义预测控制及其matlab仿真,广义预测控制(GPC).doc
广义预测控制(GPC).doc
广义预测控制(GPC)
1.GPC基本原理介绍
广义预测控制 (GPC) 是牛津大学的Clarke等于1987年提出的,基于参数模型,它是以(CARIMA)受控自回归积分滑动平均模型的基础,并结合辨识和自校正机制,表现出良好的鲁棒性。特点:
(1)基于CARIMA模型;
(2)目标函数中对控制增量加权的考虑;
(3)利用输出的远程预报;
(4)控制时域长度概念的引入;
(5)丢番图方程的递推求解;
1.1 预测模型
假设系统基于下面的CARIMA模型,
其中,和是系统的输出、输入和干扰信号。
,
,
,(是向后移时间算子),模型即
,
是系数,用数据辨识得到。
为得到的步向前预测值,考虑下面的丢番图方程组:
(2)
简写成:,其中和为待求多项式,,
,,
(3)
将(2)代入(3)得:
(4)
得到未来输出的预测值:
(5)
为将中已知信息和未知信息分离开来,在考虑另一组丢番图方程: (6)
其中和为待求多项式,,
,,
将(6)代入(5)得:
(7)
求解的递推算法:
在利用MATLAB仿真时,可以自编函数简化之。
丢番图方程的求解:对于,其中
其中m≤n。
这一类丢番图方程,多项式和的阶次应分别等于多项式和的阶次。下面将方程写成矩阵的形式,
有唯一解的条件是多项式和互质。这个方程的求解看起来比较困难,但用MATLAB语言很容易编写通用的求解函数,因为MATLAB求解矩阵方程可以直接用矩阵除法。
function [X,Y]=dio(A,B,C);
AAA=[];A1=A(:);B1=B(:);
n=length(B)-1;m=length(A)-1;k=1;
for i=1:n,AAA(i:i+m,k)=A1;k=k+1;end
for i=1:m,AAA(i:i+n,k)=B1;k=k+1;end
C1=zeros(n+m,1);C1(1:length(C))=C(:);x=AAA\C1;
X=x(1:n)';Y=x(n+1:end)';
反复调用这个函数,可以简化的求解(见源程序1)。
为预测步长,引入一个控制步长,并假设时,。
令,,
则由(7)式得:
其中
1.2 跟踪轨迹
(13)
其中为当前的设定值,为柔化因子。
令
1.3 滚动优化
目标函数为:
(14)
写成向量形式:
(15)
将(12)代入(15)得:
(16)
令得:
取的第一个分量,可得到当前的控制量:
(17)
1.4 反馈校正
GPC的反馈校正主要是通过在线辨识模型A,B中的系数构成自校正算法来实现的。
假设A,B未知或慢时变。设模型为:
(18)
(19)
其中为系数向量。
为数据向量。
取,则最小二乘法有:
(20)
(21)
2.GPC算法流程
2.1 定常GPC
给定控制参数以及一些初值,并由A,B计算, 当采样时刻到来时:
(1) 采样得;
(2) 计算;
(3) 计算;
(4) 求控制量;
(5) 数据回归;
(6) 转(1)。
2.2 自适应GPC
给定控制参数以及一些初值,估计算法参数,当采样时刻到来时:
(1) 采样得;
(2) 在线计算;
(3) 用代替公式中的A,B并计算;
(4) 计算;
(5) 计算;
(6) 求控制量;
(7) 数据回归;
(8) 转(1)。
3.仿真研究
取被控模型为:
即
取初值,取上的随机数。
4. Matlab编程仿真
4.1有噪声,加入干扰
4.1.1 定常
(1) , 时,结果如下:
(2) , 时,结果如下:
(5)无噪声, 时,结果如下:
4.1.2 自校正
(1) 时,结果如下:
(3) 时,结果如下:
(5) 有噪声,加入干扰, 时,结果如下:
5.程序说明
其中程序 定常.m 为定常状态下主程序,自适应.m为自适应状态下的主程序。
广义预测控制及其matlab仿真,广义预测控制(GPC).doc相关推荐
- 用MATLAB分析电能质量,基于matlab仿真的电能质量研究.doc
基于matlab仿真的电能质量研究.doc 西南交大网络教育学院毕业设计第1页1题目基于MATLAB仿真的电能质量研究院系西南交通大学网络教育学院专业电气工程及其自动化姓名翟洪林指导教师郭蕾西南交通大 ...
- matlab仿真习题,(MATlab仿真部分习题答案.doc
(MATlab仿真部分习题答案 [4.1]控制系统结构如图4.1所示 利用MATLAB对以上单位负反馈控制系统建立传递函数: 将第一问中求得的传递函数模型转化为零极点增益形式和状态空间形式. 解:(1 ...
- 单相半波可控整流电路实验报告matlab,单相桥式全控整流电路MATLAB仿真 实验报告(上).doc...
单相桥式全控整流电路MATLAB仿真 单相桥式全控整流电路(电阻性负载) 电路结构与工作原理 电路结构 如图1-1所示为典型单相桥式全控整流电路,共用了四个晶闸管,两只晶闸管接成共阳极,两只晶闸管接成 ...
- 双闭环可逆直流脉宽pwm调速系统设计及matlab仿真验证_,双闭环可逆直流脉宽PWM调速系统设计及MATLAB仿真验证-课程设计.doc...
双闭环可逆直流脉宽PWM调速系统设计及MATLAB仿真验证-课程设计 成都理工大学工程技术学院课程设计 PAGE PAGE 1 双闭环可逆直流脉宽PWM调速系统设计 及MATLAB仿真验证 专 业:电 ...
- matlab求解系统的差分方程图形,用MATLAB仿真散系统差分方程.doc
用MATLAB仿真散系统差分方程 HEFEI UNIVERSITY 信号与系统项目设计报告 系 别 电子信息与电子工程系 题 目 项目第十题 专 业 电子信息工程 班 级 11电子信息工程(2)班 小 ...
- matlab 广义最小二乘,基于MATLAB的广义最小二乘参数辨识与仿真
总第 238 期 2009 年第 8 期 计算机与数字工程 Computer & Digital Engineering Vol. 37 No. 8 173 基于 MA TLAB 的广义最小二 ...
- matlab仿真plant函数,(整理)matlab预测控制工具箱函数.
精品文档 精品文档 MATLAB 预测控制工具箱函数 1通用的传递函数转变为MPC 传递函数模型 (1) 2MPC 传递函数模型转换为MPC 阶跃响应模型 (1) 3基于阶跃响应模型的控制器设计和仿真 ...
- 永磁同步电机模型预测控制,自抗扰控制,滑模控制等matlab仿真及ccs代码。
永磁同步电机模型预测控制,自抗扰控制,滑模控制等matlab仿真及ccs代码. ID:13800650571175155简熙纯净水
- 基于GRNN广义回归神经网络的车牌字符分割和识别matlab仿真
目录 一.理论基础 二.核心MATLAB程序 三.MATLAB仿真测试结果 一.理论基础 GRNN通常被用来进行函数逼近.它具有一个径向基隐含层和一个特殊的线性层.第一层和第二层的神经元数目都与输入的 ...
- MATLAB中广义极值分布的分析、测试、个人理解
%% MATLAB中广义极值分布的分析.测试.个人理解 %gevfit(X) %根据给定的数据X,进行广义极值参数估算你,返回3个参数,分别为:形状参数k, 尺度参数sigma, 位置mu; %g ...
最新文章
- linux shell sed awk 命令(2)-awk
- Hibernate关于父类子类的映射
- 开发中 MySQL 规范
- jax-rs jax-ws_什么是JAX-RS注释? (第3部分)
- Apache Spark中的自定义日志
- 网关服务Spring Cloud Gateway(三)
- Cufon中文字符无法识别的解决方案
- Python和C语言运行速度对比(累加1亿次)
- Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2
- 你轻轻哼唱一句,都是最美的一首歌
- 给文火慢炖的“少儿美术”加点料
- 模型选择——子集选择法(Subset Selection)
- Java泛型的重要目的:别让猫别站在狗队里
- a为实数java_Java 实数相加
- 高炉煤气净化提质技术及发展趋势浅谈
- 网站目录(directory)提交 2008-03-13
- 考研英语 各种阅读/翻译/新题型/完形填空技巧
- 证券行业基础知识(二)
- Hexo博客Next主题配置加载优化性能提升
- csgo怎么绑定一键跳投_CSGO投掷物一键跳投的设置方法