【Matlab】基于偏格式动态线性化的无模型自适应控制

news2025/1/22 8:30:42

例题来源:侯忠生教授的《无模型自适应控制:理论与应用》(2013年科学出版社)。

👉对应书本 4.3 单输入单输出系统(SISO)偏格式动态线性化(PFDL)的无模型自适应控制(MFAC)

上一篇博客介绍了基于紧格式动态线性化的无模型自适应控制。
【Matlab】基于紧格式动态线性化的无模型自适应控制
紧格式动态线性化(CFDL)与偏格式动态线性化(PFDL)的格式类似,但偏格式动态线性化(PFDL)多了一个控制变量,线性化长度由1变成L.

例题4.4

1.题目要求

在这里插入图片描述

在CFDL中,线性化长度常数 L=1,步长因子仅有1个( ρ \rho ρ),伪偏导数(PPD) ϕ c \phi_c ϕc 是一个数,而在PFDL中,PPD ϕ p , L \phi_{p,L} ϕp,L 是一个 L 维的向量。
在这里插入图片描述

2.matlab代码

clear all; clc;

%% 控制器参数
L=3; % 输入阶数
eta=0.5; % 伪偏导步长
miu=1; % 伪偏导权重
rho=0.5; % 控制律步长 rho1=rho2=rho3=0.5
lamda=0.01; % 控制律权重
epsilon=1e-5; % 伪偏导重置阈值
N=400; %采样时间

%% 初值
y(1:6)=0; y(4)=1;
u(1:5)=0;
du(1:5,1:L)=0;

%% 期望值
for k=1:N+1
    yd(k)=5*(-1)^round(k/80);
end
figure(1)
plot(yd,'k');
hold on;

%% 控制器伪偏导数初值
% phi_{p,L}(k) = [phi_1(k), phi_2(k),...,phi_L(k)]^T
% phi(k,i):第1个参数是k(1~N),第2个参数是i(1~L)
phi(1:5,1)=1;
phi(1:5,2:L)=0;

for k=6:N
    %% 伪偏导更新
    % Delta{U_L(k)} = [Delta{u(k)}, Delta{u(k-1)},...,Delta{u(k-(L-1))}]^T
    % du(k,i):第1个参数是k(1~N),第2个参数是i(1~L)
    phi(k,1:L)=phi(k-1,1:L)+eta*(y(k)-y(k-1)-phi(k-1,1:L)*du(k-1,1:L)')*du(k-1,1:L)/(miu+du(k-1,1:L)*du(k-1,1:L)');
    % 伪偏导重置
    if abs(phi(k,1))<=epsilon | abs(du(k-1, 1:L))<= epsilon | sign(phi(k,1))~=sign(phi(1,1))
        phi(k,1)=0.5;
    end
    
    %% 控制律更新
    if L==1
        u(k) = u(k-1)+rho*phi(k,1)*(yd(k+1)-y(k))/(lamda+phi(k,1).^2);       
    else
        u(k) = u(k-1)+rho*phi(k,1)*(yd(k+1)-y(k)-phi(k,2:L)*du(k-1,1:L-1)')/(lamda+phi(k,1).^2); 
    end
    
    %% 系统函数
    if k<=200
        y(k+1)=2.5*y(k)*y(k-1)/(1+y(k).^2+y(k-1).^2)+0.7*sin(0.5*(y(k)+y(k-1)))+1.4*u(k-1)+1.2*u(k);
    else
        y(k+1)=-0.1*y(k)-0.2*y(k-1)-0.3*y(k-2)+0.1*u(k)+0.02*u(k-1)+0.03*u(k-2);    
    end
    
    for i=1:L
        du(k,i)=u(k-i+1)-u(k-i);
    end
    error(k+1)=yd(k+1)-y(k+1);
end

%% 画图
figure(1)
plot(y,'--r');
xlim([0 400]); ylim([-15 15]);
xlabel('time'); ylabel('tracking performance');
legend('y*(k)', 'PFDL-MFAC');
title('PFDL-MFAC tracking performance');

figure(2)
plot(u,'b');
ylim([-60 60]);
xlabel('time'); ylabel('input');
title('PFDL-MFAC input');

figure(3)
plot(phi(:,1),'b--');hold on;
plot(phi(:,2),'r--');hold on;
plot(phi(:,3),'g--');
xlabel('time'); ylabel('PPD');
legend('\phi_1(k)','\phi_2(k)','\phi_3(k)');
title('PFDL-MFAC \phi_{p,L}(k)');

figure(4)
plot(error);
xlabel('time'); ylabel('tracking error');
title('PFDL-MFAC tracking error')

3.运行结果

跟踪性能

跟踪性能

控制输入

控制输入

PPD估计

在这里插入图片描述

跟踪误差

在这里插入图片描述

例题4.5

1.题目要求

在这里插入图片描述

取 a(k)=1

2.matlab代码

clear all; clc;

%% 控制器参数
L=3; % 输入阶数
eta=0.5; % 伪偏导步长
miu=1; % 伪偏导权重
rho=0.5; % 控制律步长 rho1=rho2=rho3=0.5
lamda=0.01; % 控制律权重
epsilon=1e-5; % 伪偏导重置阈值
N=800; %采样时间

%% 初值
y(1:6)=0; y(4)=1;
u(1:5)=0;
du(1:5,1:L)=0;

%% 期望值
for k=1:N+1
    yd(k)=0.5*(-1)^round(k/50);
end
figure(1)
plot(yd,'k');
hold on;

%% 控制器伪偏导数初值
% phi_{p,L}(k) = [phi_1(k), phi_2(k),...,phi_L(k)]^T
% phi(k,i):第1个参数是k(1~N),第2个参数是i(1~L)
phi(1:5,1)=1;
phi(1:5,2:L)=0;

for k=6:N
    %% 伪偏导更新
    % Delta{U_L(k)} = [Delta{u(k)}, Delta{u(k-1)},...,Delta{u(k-(L-1))}]^T
    % du(k,i):第1个参数是k(1~N),第2个参数是i(1~L)
    phi(k,1:L)=phi(k-1,1:L)+eta*(y(k)-y(k-1)-phi(k-1,1:L)*du(k-1,1:L)')*du(k-1,1:L)/(miu+du(k-1,1:L)*du(k-1,1:L)');
    % 伪偏导重置
    if abs(phi(k,1))<=epsilon | abs(du(k-1, 1:L))<= epsilon | sign(phi(k,1))~=sign(phi(1,1))
        phi(k,1)=0.5;
    end
    
    %% 控制律更新
    if L==1
        u(k) = u(k-1)+rho*phi(k,1)*(yd(k+1)-y(k))/(lamda+phi(k,1).^2);       
    else
        u(k) = u(k-1)+rho*phi(k,1)*(yd(k+1)-y(k)-phi(k,2:L)*du(k-1,1:L-1)')/(lamda+phi(k,1).^2); 
    end
    
    %% 系统函数
    y(k+1)=(y(k)*y(k-1)*y(k-2)*u(k-1)*(y(k)-1)+(1+1)*u(k)) / (1+y(k)^2+y(k-1)^2+y(k-2)^2);
    
    for i=1:L
        du(k,i)=u(k-i+1)-u(k-i);
    end
    error(k+1)=yd(k+1)-y(k+1);
end

%% 画图
plot(y,'--r');
xlim([0 800]); 
xlabel('time'); ylabel('tracking performance');
legend('y*(k)', 'PFDL-MFAC');
title('PFDL-MFAC tracking performance');

3.运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/468850.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8S---Service

服务原理 容器化的问题&#xff1a; 1.自动调度 无法预知pod所在节点&#xff0c;pod的IP地址 2.有故障时&#xff0c;换新节点新ip进行部署 service就是解决这些问题 自动跟踪 clusterip不变 都能找到对应pod 主要靠后端pod的标签 负载均衡 通过iptables/LVS规则将访问的请…

MySQL 数据库概述

数据&#xff08;Data&#xff09; 描述事物的符号记录包括数字&#xff0c;文字、图形、图像、声音、档案记录等以“记录”形式按统一的格式进行存储 表 将不同的记录组织在一起用来存储具体数据 记录&#xff1a;行 字段&#xff08;属性&#xff09;&#xff1a;列 数…

[Gitops--7]Kubesphere 配置镜像仓库

Kubesphere 配置镜像仓库 1. Harbor https证书配置 1.1 生成Harbor证书 mkdir /apps/harbor/cert -p cd /apps/harbor/cert openssl genrsa -out ca.key 2048 openssl req -x509 -new -nodes -key ca.key -subj "/CCN/STShanghai/LShanghai/Opana/OUDevops/CNharbor.i…

HBase(3):集群搭建

1 基础环境需求 jdk1.8以上Hadoopzookeeper 2 下载HBase安装包 Apache Downloads 3 安装 3.1 上传解压HBase安装包 tar -xvzf hbase-3.0.0-alpha-3-bin.tar.gz -C /opt/ 3.2 修改HBase配置文件 &#xff08;1&#xff09;修改hbase-env.sh cd /opt/hbase-3.0.0-alpha-3-bi…

【音视频第21天】RTP、RTCP结合wireshark抓包详解

感觉单纯看理论没啥意思&#xff0c;结合RTCP、RTP来看一看抓包详解 RTP 实时传输协议RTP&#xff08;Realtime Transport Protocol&#xff09;&#xff1a;是针对Internet上多媒体数据流的一个传输协议, 由IETF作为RFC1889发布&#xff0c;现在最新的为RFC3550。RTP被定义为…

基于PyQt5的图形化界面开发——自制Redis图形化客户端(文末附源码)

基于PyQt5的图形化界面开发——自制Redis图形化客户端 前言1. Python第三方库安装及Redis学习1.1 Python第三方库安装1.2 Redis数据库安装和基础命令 2. 登录界面2.1 login.py2.2 image_login.py 3. 主界面3.1 main_ui.py3.2 image_main.py 4.界面切换5. 写在最后(附下载链接) …

软件测试笔记(三):黑盒测试

1 黑盒测试概述 黑盒测试也叫功能测试&#xff0c;通过测试来检测每个功能是否都能正常使用。在测试中&#xff0c;把程序看作是一个不能打开的黑盒子&#xff0c;在完全不考虑程序内部结构和内部特性的情况下&#xff0c;对程序接口进行测试&#xff0c;只检查程序功能是否按…

Java——把数组排成最小的数

题目链接 牛客网在线oj题——把数组排成最小的数 题目描述 输入一个非负整数数组numbers&#xff0c;把数组里所有数字拼接起来排成一个数&#xff0c;打印能拼接出的所有数字中最小的一个。 例如输入数组[3&#xff0c;32&#xff0c;321]&#xff0c;则打印出这三个数字能…

汇编语言(第3版)- 学习笔记 - 第1章-基础知识

汇编语言&#xff08;第3版&#xff09;- 学习笔记 - 第1章-基础知识 1.1 机器语言1.2 汇编语言的产生1.3 汇编语言的组成1.4 存储器1.5 指令和数据1.6 存储单元1.7 CPU对存储器的读写1.8 地址总线1.9 数据总线1.10 控制总线1.11 内存地址空间(概述)1.12 主板1.13 接口卡1.14 各…

NSSCTF-[NSSRound#X Basic]ez_z3 [MoeCTF 2022]Art [HDCTF2023]basketball

目录 NSSCTF-[NSSRound#X Basic]ez_z3 [MoeCTF 2022]Art [HDCTF2023]basketball NSSCTF-[NSSRound#X Basic]ez_z3 题目下载&#xff1a;下载 查壳&#xff1a; 发现有upx壳&#xff0c;但是使用upx -d命令不能脱壳&#xff0c;载入十六进制编辑器查看 把XYU改为UPX&#x…

netty/websocket服务器配置阿里云SSL证书安全访问配置,亲测有效

背景&#xff1a;java 微服务包括https访问和websocket访问&#xff0c;当https接口访问ws请求时报错,因为https能访问wss。 申请阿里云免费证书后&#xff0c;搜索各种教程比如nginx配置方式、netty访问证书等。走了不少弯路&#xff0c;终于走通一种。 关键点&#xff1a;1…

龙蜥开发者说:亲历从基础设施构建到系统质量保障,龙蜥未来可期 | 第 19 期

「龙蜥开发者说」第 19 期来了&#xff01;开发者与开源社区相辅相成&#xff0c;相互成就&#xff0c;这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的&#xff0c;我们希望在这里让更多人看见技术的力量。本期故事&#xff0c;我们邀请了龙蜥社区开发者宋彦…

【Python】值得收藏,三元一次方程组的计算,快来看看有什么新奇的~~~

三元一次方程组的计算对于大家来说都不陌生了&#xff0c;但是用编程语言来解决方程组问题想必还是会有些大聪明们有点迷糊的&#xff0c;今天就带大家来看看是怎么利用python实现方程组的解集的&#xff1b; 本文主要分成两部分&#xff1a; 解题验算综述 解题 题目1 代码 …

Security中使用Redis管理会话(模拟cookie实现)

配置redis相关 1. 配置Redis package com.zzhua.blog.config.redis;import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.cor…

【HCIP】IPV6综合实验(ripng,ospfv3,bgp,6to4)

目录 一、IP规划 二、 连通公网部分(IPv4) 三、R1、R2上IPv4&#xff0b;v6配置 四、IPV6部分ip配置 五、IPV6部分OSPF&BGP协议配置 Ⅰ、 ospf Ⅱ、bgp 六、联通网络 需求&#xff1a; 1、AR1处于IPV4&#xff0c;也有IPV6的地址&#xff0c;有两个环回 2、AR45678处…

Golang Gin 请求参数绑定与多数据格式处理

之前学习了使用Gin框架的Engine的默认路由功能解析HTTP请求。现在我们来学习gin框架的参数绑定操作和请求结果返回格式。 处理POST请求时&#xff0c;使用context.PostForm或者context.DefaultPostForm获取客户端表单提交的数据。 像上述这种只有username和password两个字段的表…

CS:APP 第7章链接分步编译(cpp/cc1/as/ld)遇到的问题

环境 WSL Ubuntu 22.04.2 LTS gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 问题 问题一 cc1 命令找不到 cc1 命令在 /usr/lib/gcc/x86_64-linux-gnu/11/cc1 里&#xff0c;注意不同操作系统等可能 cc1 的位置不一样&#xff0c;可以使用 find 或者 locate 命令搜索。 通过下…

聊点技术 | 架构瘦身,让Bonree ONE跑得更轻

4月21日&#xff0c;博睿数据ONE有引力2023春季产品发布会圆满落幕&#xff0c;一体化智能可观测平台Bonree ONE 2023春季正式版正式发布&#xff0c;这一次发布的版本更轻、更强、更智能。 Bonree ONE在上一版基础上削减50%组件数量&#xff0c;下架两大高耗能组件&#xff0c…

97-TCP为什么要有一个“TIME_WAIT“的状态

文章目录 1.TCP为什么要有一个"TIME_WAIT"的状态(1) 可靠的终止 TCP 连接。(2) 保证让迟来的 TCP 报文有足够的时间被识别并被丢弃 ; 2.拓展带外数据 1.TCP为什么要有一个"TIME_WAIT"的状态 "TIME_WAIT"状态存在的原因主要有两点: (1) 可靠的终…

成功经验分享,Nacos注册中心实践,带你玩转Nacos

1、什么是 Nacos &#xff1f; 官方&#xff1a;一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。 集&#xff1a; 注册中心配置中心服务管理 平台 nacos的特性包括&#xff1a; 服务发现和服务健康监测动态配置服务动态…