ADRC控制算法仿真(基于MATALB和Simulink)

ADRC控制算法仿真(基于MATALB和Simulink)ADRC控制算法仿真(基于MATALB和Simulink)首先放仿真结果仿真文件下载首先放仿真结果首先是总的系统图.输入为正弦信号,控制对象的传递函数为:干扰信号为终值0.2的阶跃函数。仿真波形图如下:跟踪效果还不错。仿真文件下载。。。。。待审核…

大家好,又见面了,我是你们的朋友全栈君。

ADRC控制算法仿真(基于MATALB和Simulink)


重要提示:这个仿真存在一些错误,仅供参考。(经评论提示,仿真中存在一些问题,但这个帖子时间已经比较久了,做这个仿真也是很久之前的事了,我并不想再去花时间修改)。仿真在下面的度盘里,有同学反映链接挂了,但我访问链接是没问题的。仿真仅供大家参考吧

首先放仿真结果

首先是总的系统图.
在这里插入图片描述输入为正弦信号,控制对象的传递函数为:
在这里插入图片描述
干扰信号为终值0.2的阶跃函数。
仿真波形图如下:
在这里插入图片描述
跟踪效果还不错。

仿真文件下载

下载链接
注意仿真基于MATLAB2019,可能会报错,慎下,环境变量如下。
下面有度盘
在这里插入图片描述
可能需要重新定义fal函数,fal函数定义如下:
function y = fal(e0,a0,delta)
if(abs(e0)>delta)
y=((abs(e0))^a0)*sign(e0);
else
y=e0/(delta^(1-a0));
end

ADRC原理我不在赘述,CSDN有很多介绍的很好的博客。
根据同学的反馈,可能会出现delta0,1,2未定义的情况,可以采取以下步骤解决:
1.
在这里插入图片描述
点击图中绿圈中的按钮
2.在这里插入图片描述
点击这个小三角
3.
在这里插入图片描述
点击上图中的Model Workspace
4.
在这里插入图片描述
在这里插入图片描述
datasource下拉选择MATLAB file

在这里插入图片描述
点击browse

在这里插入图片描述
选择ass,m然后点击打开
8.
在这里插入图片描述
然后点击Reinitialize from source

9.关闭窗口,重新运行仿真

经评论区朋友提醒,才知道Matlab可以把仿真文件保存为其他版本的
所以我导出了一个2016版的和一个2012版的,但是导出的时候出了一些问题,
在这里插入图片描述
在这里插入图片描述
导出的文件可能会不好使,大家有需要的话自行下载尝试一下,下载链接放在下面,我也感觉CSDN把资源定价太高了,这次放度盘,链接挂了,请评论区留言.
https://pan.baidu.com/s/1OlI4YEiDogvpfzPiPviQAg

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144340.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月19日 下午7:20
下一篇 2022年5月19日 下午7:20


相关推荐

  • linux查看当前环境变量的命令_linux添加环境变量

    linux查看当前环境变量的命令_linux添加环境变量1.显示环境变量HOME$echo$HOME/home/redbooks2.设置一个新的环境变量hello$exportHELLO=”Hello!”$echo$HELLOHello!3.使用env命令显示所有的环境变量$envHOSTNAME=redbooks.safe.orgPVM_RSH=/usr/bin/rshShell=/bin/bashTERM=xtermHISTSIZE=1000…4.使用set命令显示所有本地定义的She

    2026年4月19日
    8
  • java实现编译器_实现一个简单的编译器

    java实现编译器_实现一个简单的编译器简单的说编译器就是语言翻译器,它一般将高级语言翻译成更低级的语言,如GCC可将C/C++语言翻译成可执行机器语言,Java编译器可以将Java源代码翻译成Java虚拟机可以执行的字节码。编译器如此神奇,那么它到底是如何工作的呢?本文将简单介绍编译器的原理,并实现一个简单的编译器,使它能编译我们自定义语法格式的源代码。(文中使用的源码都已上传至GitHub以方便查看)。自定…

    2022年7月7日
    48
  • original_keras_version = f.attrs[‘keras_version‘].decode(‘utf8‘)

    original_keras_version = f.attrs[‘keras_version‘].decode(‘utf8‘)File”/home/liqiang/anaconda3/envs/tensorflow1.8/lib/python3.6/site-packages/keras/engine/saving.py”,line1004,inload_weights_from_hdf5_grouporiginal_keras_version=f.attrs[‘keras_version’].decode(‘utf8’)AttributeError:’str’objecthasnoatt…

    2022年10月18日
    6
  • Linux curl命令最全详解

    Linux curl命令最全详解目录一、最常用的curl命令1、发送GET请求2、发送POST请求3、发送json格式请求:二、curl命令语法与curl命令参数详解1、curl命令语法2、curl命令参数详解三、Linuxcurl命令退出码四、常见用法1、下载(option:-o或者option:-O)2、上传文件(option:-T)3、伪造来源页面|伪造referer|盗链(option:-e)4、伪造代理设备(模仿浏览器)5、设置http请求6、http响应头7.

    2022年7月27日
    57
  • mbedtls | 01 – 移植mbedtls库到STM32的两种方法

    mbedtls | 01 – 移植mbedtls库到STM32的两种方法一 mbedtls 开源库 1 mbedtls 是什么 MbedTLS 是一个开源 可移植 易于使用 代码可读性高的 SSL 库 可实现加密原语 X 509 证书操作以及 SSL TLS 和 DTLS 协议 它的代码占用空间小 非常适合用于嵌入式系统 mbedtls 遵循 Apache2 0 开源许可协议 目前由 TrustedFirmw 维护 Linaro 主持的一个治理开放社区项目 在 Github 上已收获 2 6kstar 目前 Github 上发布的最新版本为 2 24 0 版本 开源仓库地址为

    2026年3月20日
    5
  • 多进程和多线程区别以及优缺点[通俗易懂]

    多进程和多线程区别以及优缺点[通俗易懂]多进程和多线程主要区别是:线程是进程的子集,一个进程可能由多个线程组成。多进程的数据是分开的、共享复杂,需要用IPC,但同步简单;多线程共享进程数据、共享简单,但同步复杂。多进程,window应用程序中消息有两种送出途径:直接和排队。Windows或某些运行的应用程序可直接发布消息给窗口过程,消息可送到消息列象连续不断轮询消息列队的OS中当前执行的每个进程,事件驱动不是由事件的顺序来控制的,而是由事件的发生来控,而事件的发生是随机的、不确定的,这就允许程序的用户用各种合理的顺序来安排程序的流程。多线

    2025年7月9日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号