自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

原创 Python后端学习路线

按照这个路线图,你可以系统地从理论到实践,逐步提升自己的Python后端开发能力。

2024-07-02 08:30:34 478 1

原创 Git、Gerrit的使用记录(待完善)

Git是单项目代码管理、CI/CD的基本工具,Gerrit则常用于多项目管理。工作上离不开他们,在此记录常见的用法及坑点。

2024-07-01 21:25:11 191

原创 矩阵求逆的三种方法

矩阵求逆有三种方法,大家最常用的两种方法是:伴随矩阵求逆、单位矩阵求逆,还有一种特别实用的是:Hamilton-Cayley(哈密尔顿-凯莱)定理求导。下面分别进行介绍。一、伴随矩阵求逆二、单位矩阵求逆三、Hamilton-Cayley定理求逆...

2024-02-13 23:09:21 341

原创 简单易懂,10个工作中常用的python装饰器模板,建议收藏作为模板

不讲高大上的词汇,听起来复杂,本质上就是函数结果拓展器,使用@符号,应用于目标函数或类。专业角度讲,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用于在不修改原始代码的情况下添加额外的功能或功能。通俗角度讲,当工作中同事写了一个函数,返回值是 int 类型的 result,你觉得简陋,不想(其实是不能)改变他的函数内容,却想丰富结果,那么你就可以使用装饰器。把函数的结果作为中间变量,进行使用。

2024-02-13 21:55:45 955

原创 建议收藏,10分钟快速上手Python(可作复习)

Python语法简单,应用领域广,本文给出 Python八大核心知识点,供大家迅速上手,建议收藏。

2024-02-13 21:04:45 396

原创 基于麻雀优化算法优化XGBoost参数的优化控制策略

为提高极端梯度提升(Extreme Gradient Boosting, XGBoost)集成算法在时间预测、信贷风险预测、工件参数预测、故障诊断预测等方面中的准确性,研究者提出了一种改进的麻雀算法(Improved Sparrow Search Algorithm based on Golden Sine Search, Cauchy Mutation, and Opposition-Based Learning, GCOSSA),以优化XGBoost的参数。根据给定的式(6)来更新警戒者的位置。

2024-02-08 00:57:19 661 2

原创 基于多目标灰狼优化算法的材料、工件参数自主优化

首先,参考论文,将目标用数学模型表示出来,然后编写多目标优化程序进行设计,选择最佳的参数以满足最优目标。当然,多目标优化算法的选择有很多,选择最新的优化算法(需要顶刊论文),则有更大的概率实现更优的效果(若不开源,则复现有难度)。化学、材料、机械等专业设计到材料、工件的参数设计时,往往需要靠经验进行设计,何不融合优化算法进行参数选取呢?这也是跨领域的方向之一,很多研究生也因此发了很多高质量论文。

2024-02-06 13:36:00 327

原创 MATLAB语音去噪系统

代做领域包括:开关电源、最大功率点跟踪(恒电压法、电导增量法、爬山法、智能算法等)、并网逆变器控制、多目标优化算法(灰狼算法、粒子群、麻雀、哈里斯鹰、布谷鸟等等)、图像处理算法(MATLAB GUI等)、嵌入式、配电网无功优化(IEEE33、21、44节点等)等。(3)设计了一个基于MATLAB的图形化语音去噪仿真系统,支持IIR、FIR、LMS自适应滤波等多种语音去噪算法。(1)首先介绍了语音信号去噪的基本理论,并对常见的去噪算法进行了介绍,如傅里叶算法、短时傅里叶算法、小波算法。

2024-02-06 13:08:21 1256 3

原创 【进程VS容器VS虚拟机】

通过上面的讨论,我们认识到容器是一个非常强大的技术,它吸取了虚拟机的优点,但是轻量得等同于一组进程,同时也很好的控制了这层抽象带来的资源消耗。

2023-10-24 23:57:37 302

原创 资深测试专家:重要且常用的测试用例设计和记录技巧

这些技巧是测试用例设计和记录中常用的方法,根据具体的测试需求和场景,可以选择适合的技巧来设计和记录测试用例。此外,持续学习和实践也是提高测试用例设计和记录技巧的关键。根据系统的状态和转换条件,设计状态转换图来表示系统的不同状态和状态之间的转换。设计测试用例覆盖各种状态转换路径,以验证系统在不同状态下的行为和转换的准确性。通过设计测试用例覆盖决策表中的不同条件和决策路径,以确保系统按照预期进行决策。测试输入值的最小和最大边界,以及接近边界的值。这有助于确定测试的重点和顺序,确保测试资源的合理分配。

2023-07-09 21:59:31 274

原创 电芯测试要点与框架

测试用例框架的目的是提供一个一致的结构和格式,以便于测试团队编写、执行和管理测试用例。具体的测试用例框架可以根据组织的需求和项目的特点进行调整和定制。测试电芯的容量和循环寿命是评估电芯性能的重要指标。容量测试可以验证电芯的额定容量是否符合规格要求,而循环寿命测试可以模拟电芯在实际使用中的充放电过程,评估其衰减和寿命。测试应包括电芯在不同温度、湿度和海拔等环境条件下的性能测试,以验证其在实际使用场景中的可靠性。内阻测试可以检测电芯的内部电阻,而压降测试可以评估电芯在负载下的电压稳定性和能量转化效率。

2023-07-09 21:57:15 1517

原创 智能优化算法、智能控制算法、多目标优化、MPPT、无功优化

领域包括:开关电源、最大功率点跟踪(恒电压法、电导增量法、爬山法、智能算法等)、并网逆变器控制、多目标优化算法(灰狼算法、粒子群、麻雀、哈里斯鹰、布谷鸟等等)、图像处理算法(MATLAB GUI等)、嵌入式、配电网无功优化(IEEE33、21、44节点等)等。

2023-01-07 17:44:07 615 2

原创 MATLAB绘制同时绘制两曲面,并显示交线,及交线在XOY平面投影

MATLAB绘制同时绘制两曲面,并显示交线,及交线在XOY平面投影

2022-12-22 14:42:10 6384 1

原创 使用Servlet+Tomcat+MySQL开发-简易版部门信息管理系统(单表CRUD)

为了检验JavaWeb、Servlet、MySQL、JDBC的学习效果,实现了简易版的部门信息管理系统。没有使用任何框架,这样便于深入理解原理。

2022-11-23 14:46:06 1053 6

原创 基于IDEA的JAVAWeb-Servlet开发,实现网页对MySQL进行简单的CRUD

基于IDEA进行简单的javaweb开发,主要实现Servlet的service方法,借助jdbc对MySQL进行删除表格、创建表格、新增记录、查询记录等功能。目的是为了熟悉并记录基础的javaweb开发。 下面分别从IDEA配置、目录结构、代码编写、项目演示等方面进行讲解。

2022-10-30 19:45:51 1499

原创 测试框架TestNG的使用(二):testNG xml的使用

测试框架TestNG的使用(二):testNG xml的使用

2022-06-29 19:47:28 1343

原创 测试框架TestNG的使用(一):IDEA安装TestNG环境

测试框架TestNG使用广泛,此篇Blog介绍了在IDEA中配置TestNG环境

2022-06-15 21:18:14 1506 1

原创 IDEA Debug出现:Skipped breakpoint at because it happened inside debugger evaluation

在使用IDEA debug功能时,没有出现断点处程序变量快照,而是进入了如下debug界面,并打开了URL类加载程序。本blog简单的解决了这个问题。

2022-06-14 20:37:59 2034 1

原创 JAVA网络编程:基于UDP协议的在线聊天器

一、背景及工具1.1 背景学习了JAVA网络编程,就编写了一个基于UDP协议的在线聊天器。因为是持续性的在线聊天,故需要基础的多线程的知识。1.2硬软件配置通信方A:主机1:IP地址为:192.168.101.78,接收消息的端口号为:5003通信方B:主机2:IP地址为:192.168.101.12,接收消息的端口号为:5002也就是说,两者的发送消息端口号可以任意设置,毕竟消息通信就是两方接收端口内的操作。二、程序定义4个类以实现在线聊天,源程序如下。图1.

2022-05-04 15:29:57 1790 1

原创 【内容详细、源码详尽】MySQL极简学习笔记

4天学完MySQL操作,能够熟练基于MySQL执行DQL、DML、DDL等SQL操作

2022-05-03 16:52:38 1649

原创 JAVA ProrityQueue的使用:根据身高和姓名排序

一、问题描述1.1 场景描述:有一排士兵,需要按照身高进行排序,如果身高相同则按姓名排序。1.2 输入描述:第一行一个整数n,表示士兵数第二行n个空格隔开的正整数h[1, 2, ... n], h[i]表示第i个士兵的高度第三行n个空格隔开的字符串s[1, 2, ... n],s[i]表示第i个士兵的姓名。注意,士兵的名字仅包含小写英文字母且没有重复的名字。n<=50000,h[i]<=300,s[i]仅包含小写英文字母且长度不大于101.3 输出描述:输出一

2022-04-10 10:21:37 1240

原创 【深入浅出地详解】TCP可靠传输的保证: 重传、滑动窗口、流量控制、拥塞控制

TCP 是通过序列号、确认应答、重发控制、连接管理(三次握手、四次挥手)以及滑动窗口、流量控制、拥塞控制等机制实现可靠传输的一、重传机制TCP实现可靠传输的基础,是通过序列号与确认应答。当发送端的数据到达接受主机时,接收端主机会返回一个确认应答消息,表示已经收到消息。图1 TCP数据传输重传机制是为了解决TCP数据包丢失的情况,具有2种重传机制和2种应答机制:超时重传: 快速重传: SACK(Selective Ac...

2022-03-15 13:40:07 4756

原创 简单易懂: JAVA反射详解+实例

一、反射详解1.1反射定义 Java反射就是在运行状态中,可以获取任意一个类的所有属性和方法(包括私有)并且调用它们;也可以改变它的属性(包括私有)。这也是Java被视为动态语言(或准动态,为啥要说是准动态,因为一般而言的动态语言定义是程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言)的一个关键特质。动态代理的实现,就依赖于反射!1.2反射优缺点优点:可以代码更加灵活...

2022-03-09 09:57:41 1909 2

原创 MATLAB闪退,无法打开(已解决)

可能是 Windows系统预设文件(preferences)被损坏,需要清除并重设。Step1. 进入Application Data文件夹。由于此文件夹是一个隐藏文件夹,可以直接在Windows屏幕左下角的搜索栏里输入“%AppData%”进入当前账户的Application Data文件夹:C:\Users\AppData\Roaming\MathWorks\MATLABStep2. 在Application Data文件夹里删除当前MATLAB的文件夹(可能有几个版本,R2020b,R20..

2022-03-07 13:21:13 5274 2

原创 简单易懂,不说废话: JAVA反射与动态代理

1- 反射:通过反射可以获取任意一个类的所有属性和方法,并且可以调用这些属性和方法优点 可以让代码更加灵活、为各种框架提供开箱即用的功能提供了便利 缺点 在运行时有了分析操作类的能力,但是也增加了安全问题。比如可以无视泛型参数的安全检查(发生在编译时)。另外,反射的性能也要稍差点。 2- 代理:代理模式主要作用是拓展(增强)目标的功能,如图1所示,在目标对象的某个方法执行【前、后】可以增加一些自定义的操作。主要有静态代理和动态代理两类静态代理:对目标对象的每个方法的增强都是手动完

2022-03-03 10:03:17 19

原创 阅读ArrayList源码

ArrayList扩容的核心方法为:.grow方法,该方法具有两个构造器,无参构造器情况下,直接调用有参构造器;有参构造器的作用如下:定义,当前需要的长度为:minCapacity; 当前的真实长度为:oldCapacity = elementData.length;那么,差值为:int differValue = minCapacity - oldCapacity;为了减少扩容次数,则每次多扩容一点,可以选择扩原来长度的1.5倍,或者差值,扩容之后的长度为:int newCap..

2022-03-02 21:57:38 438

原创 基于wireshark和NetAssist的单机模拟抓TCP包:三次握手、四次挥手、长连接

0- 工具wireshark v3.6.2 网络分析器下载地址:Wireshark · DownloadNetAssist v5.2 网络调试助手下载地址:NetAssist下载_NetAssist v5.0.2中文版 - 下载之家 (windowszj.net)1-准备工作1.1打开2个NetAssist程序,充当服务器和客户端图1服务器与客户端 测试后,收发数据正常。1.2打开wireshark程序,准备抓包...

2022-02-28 13:18:08 3081

原创 Cannot make a static reference to the non-static method isMatch(String, String) from the type test

报错原因:静态(static)成员调用了非静态成员。解决原因办法:把要调用的非静态成员改成静态,或者把非静态成员改成静态成员。补充:java中不能将方法体内的局部变量声明为static main()函数是静态的,没有返回值,形参为数组。 非静态成员的可以随便调用静态成员...

2022-02-23 19:51:43 1098

原创 Test.class found in top-level directory (unnamed package not allowed in module)

具体错误Error occurred during initialization of boot layerjava.lang.module.FindException: Error reading module: D:\Demo\out\production\DemoCaused by: java.lang.module.InvalidModuleDescriptorException: Test.class found in top-level directory (unnamed packa

2022-02-23 19:23:25 5970 2

原创 JAVA的三大特性:封装、继承、多态

1- 封装:封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。2- 继承:拓展已存在的代码模块,目的是为了代码复用。3- 多态对象的编译时类型和运行时类型不一致,具体表现为父类的引用指向子类的实例。PS:JAVA引用变量有两个类型(编译时类型和运行时类型)。其中,编译时类型由声明该变量时使用的类型(父类)决定,运行时类型由实际赋给该变量的对象决定(...

2022-02-21 11:29:42 6894

原创 JAVA中的8种基本数据类型介绍

a. 6种数字型4种整数型:byte、short、 int、 long 2种浮点型:float、doubleb. 1种字符型:charc. 1种布尔型:boolean这8种基本数据类型的默认值以及所占内存空间如下:Q:可能有的同学会有疑问:为什么在java中int类型和float类型都是4个字节,但是float类型的数值范围却大于int的数值范围呢?A:因为两者的数据类型和组成结构不同。int类型是各个位之间表示的值直接相加,所以表示的值范围是-2^31 ~ 2^31 - 1。.

2022-02-21 10:32:56 239

原创 动态规划解0-1备忘问题

0- 问题描述背包可装载容量为W,现有N个物品,第 i 个物品的重量和价值分别为wt[ i ]和val[ i ]。求不超过装载容量下,背包所装物品的最大价值。1- 动态规划思路排序等方法对此没有用,必须要穷举所有的可能。这时候用动态规划可以提高效率。首先明确动态规划的三要素:状态、选择、dp数组的含义。(1)状态:①背包的容量;②可选择物品(2)选择:①装该物品;②不装该物品(3)dp数组含义...

2022-02-17 22:54:25 202

原创 等价输入干扰补偿的思想

一、背景(Equivalent Input Disturbance, EID)等价输入干扰方法这么好用,但是鲜有人知道,这篇文章算是我粉丝的福利咯。EID方法在解耦、非线性补偿、扰动补偿等方面具有巨大优势,因为它不需要扰动我来讲一下等价输入干扰方法的思想,具体的数学原理就自己查资料吧,知网(高校电子图书馆)的中文资料,google scholar(镜像网站),等的英文资料都有很深入的介绍。二、等价输入干扰的思想 其实,不光是EID思想,其它的ADRC(自抗扰控制器),LADRC(拓展自抗扰..

2021-11-13 10:57:59 1908

原创 有源阻尼抑制LCL滤波器固有谐振

有源阻尼的引入是为了用数学算法达到无源阻尼的效果,这样就可以避免损耗。最常见的有源阻尼手段是电容电流反馈。下面给出MATLAB程序:(1)首先写入LCL滤波器的数学模型和引入电容电流反馈之后的LCL数学模型clc,clear,closeL1 = 2e-3;%LCL滤波器逆变侧电感L2 = 1.5e-3;%LCL滤波器网侧电网C = 25e-6;%LCL滤波器电容wn = sqrt((L1+L2)/(L1*L2*C));%LCL滤波器的固有谐振频率,把它作为陷波器谐振点%% LCL滤波器.

2021-11-03 11:32:17 4446 1

转载 回复审稿人意见

〇、背景 最近在回复审稿人的意见,正好看到了这篇blog,觉得写得非常好,边收藏下来。本文转自马臻科学网博客:科学网—研究生回复审稿意见的门道【已发表】 - 马臻的博文一、逐条回复审稿意见假设一篇论文有三个审稿人,那么作者应该按照审稿人1、审稿人2、审稿人3的顺序,依次回答审稿人的意见。针对每一个审稿人的意见,要按照“一段意见、一段回答”的形式,逐条回答。不要把几个审稿人的几条意见用自己的话归纳总结,再回答。这是因为,作者把不同审稿人的意见“综...

2021-10-30 14:23:53 1828

原创 写论文:证明非线性系统的稳定性

0-背景: 最近写论文,需要证明系统的稳定性。所设计的其中一个子系统的状态空间方程式为:其中,有界,故系统稳定性取决于高阶状态矩阵,如果稳定,则该子系统稳定。 可以看到,我把非线性系统通过给线性化了,现在需要证明线性系统的稳定性。常用的方法有赫尔维茨(Hurwitz)稳定性判据、劳斯(Routh)判据、特征根判据等等。 首先需要说明的是,电脑求解特征根特别快,18*18的特大矩阵,也就1.74e-4 s的时间,故如果直接用特征根判据的话,可以不看下面的步...

2021-10-26 09:46:58 2901

原创 MATLAB修改Bode的label、Title

实现的效果如下所示:close allclear allclcnum1 = 1;den1 = [1 1 2];hh1 = tf(num1,den1);margin(hh1)hold onnum2 = 3;den2 = [2 6 2];hh2 = tf(num2,den2);margin(hh2)hleg = legend('PM-1','PM-2','Location','SouthEast');set(hleg,'FontSize',8,'FontName','T

2021-08-17 22:20:58 4019 1

原创 原理深入浅出:史密斯预测器及其改进预测器(SP、FSP、SFSP...)

0引言 控制延时、通信延时等输入延时(input delay)问题,广泛存在于工业生产、航空航天等领域,既然是处理延时问题,那么首当其冲的就得是预测器。然而预测不可能被物理实现,所以存在于控制器上的各类预测算法的研究,一直都是热点领域。其中最具有代表性的就是史密斯预测器 (Simith Predictor, SP) ,google一下就看到,上世纪被提出的算法,在2021年仍被作为某些学者研究的组成部位,被发表在顶刊上。下面记录一下SP, 及其衍生出的滤波器史密斯预测器(Filter ...

2021-08-10 22:09:53 4042

原创 最优控制的四种目标函数(二次型最优控制算法等)

目录0背景1最优控制的四种主要类型2四种目标函数分析0背景78节课上完《最优控制》,老师讲的比较好,就记录到这个Blog里面1最优控制的四种主要类型最优控制目标函数主要有以下四种类型:2四种目标函数分析对于类型(1),它强调动态品质,期望对时间最优化,比如货船靠岸,在巨大负载能量消耗下,需要在时间最优情况下靠岸。对于类型(2)(3),它强调稳态性能,期望从初态到终态有最低燃料消耗/控制消耗。而对于类型(4),仔细分析其表达式可知其同时包...

2021-05-17 21:31:22 5811

原创 MATLAB:使用陷波器抑制LCL滤波器固有谐振

目录0背景1介绍1.1 LCL滤波器的固有谐振1.2陷波器的功能1.3利用陷波器抑制LCL谐振2实例PS:0背景 陷波器抑制谐振,这个方法不止适用于LCL滤波器,也适用于其他的谐振产生源。1介绍1.1 LCL滤波器的固有谐振 忽略寄生电阻的话,LCL滤波器的数学模型描述如下: 由公式可得出,它的固有谐振频率为:...

2021-04-28 10:49:16 4024

双馈风力发电仿真程序(价值1k RMB)

双馈风力发电(DFIG)Simulink仿真程序是在MATLAB的Simulink环境下构建的一种动态模型,用于模拟和分析双馈风力发电机在不同运行条件下的行为。双馈发电机是一种绕线式感应电机,能够通过调节转子侧的频率实现变速恒频运行,适用于风力发电系统,因为它能够适应风速的变化,从而提高能源转换效率。 在Simulink中,DFIG仿真模型通常包括以下几个关键组件: 1. **风力机模型**:模拟风力转化为机械转矩的过程,考虑到风速的变化、空气动力学特性等因素。 2. **变速箱模型**:连接风力机和发电机,通过改变转速比来提高发电机的转速,以便在较低的风速下也能有效运行。 3. **双馈发电机模型**:包括定子和转子电路,其中定子直接连接电网,转子通过变频器与电网相连,实现对转子侧电流的控制。 4. **变频器模型**:采用PWM技术,控制转子侧的电压和频率,实现发电机输出的频率和电网同步。 5. **控制系统模型**:包含功率控制、电流控制和电压控制回路,确保发电机稳定运行并满足电网要求。 6. **滤波器和保护电路模型**:用于改善电能质量,保护系统免受过载或故障

2024-06-11

模拟退火遗传算法程序(SA-GA)

模拟退火遗传算法(SA-GA)是一种结合了模拟退火(Simulated Annealing, SA)与遗传算法(Genetic Algorithm, GA)优点的混合优化方法,用于解决复杂优化问题,特别是在寻找全局最优解时具有优势。 **模拟退火算法(SA)**起源于物理学中的退火过程,即金属或材料在高温下加热后缓慢冷却以达到能量最低的状态。在优化问题中,SA算法从一个初始解开始,在迭代过程中允许以一定概率接受比当前解更差的解,这一概率由一个“温度”参数控制,温度逐渐下降,使得算法最终收敛到一个较优解。SA算法的关键在于“温度”和接受概率的设定,以及“冷却”速度的调整,这样可以避免陷入局部最优。 **遗传算法(GA)**模仿生物进化过程,通过选择、交叉(重组)和变异等操作对种群中的个体进行迭代更新,从而逐步改进解的质量。GA能够处理离散空间的优化问题,并且由于其全局搜索能力,往往能跳出局部最优,找到更好的解。 **SA-GA算法**则融合了这两种算法的优势。在SA-GA中,遗传算法负责快速探索解空间,生成多样化的候选解;而模拟退火算法则通过其接受劣解的能力帮助算法逃离局部最优陷阱

2024-06-11

小波去噪算法matlab程序(完整可用)

小波降噪是一种广泛应用于信号和图像处理领域的高级技术,旨在从受噪声污染的数据中恢复出清晰的原始信息。其核心思想是利用小波变换将信号分解至多个尺度,从而在不同频率层面上捕捉信号特征并抑制噪声。 小波变换是一种数学工具,能够将信号分解成一系列不同频率和时间定位的小波系数,这些系数反映了信号在特定时间点和频率下的局部特性。不同于傅里叶变换仅提供频率信息,小波变换同时提供了时间和频率的定位,这使得它在处理非平稳信号时更为有效。 在降噪过程中,首先应用小波变换将含噪信号转换到小波域。由于信号与噪声在小波域中的表现不同,通常信号对应的大系数,而噪声对应的小系数,因此可以通过阈值处理来区分两者。阈值设定是一个关键步骤,常用的方法有软阈值和硬阈值。软阈值会将绝对值小于某一阈值的所有系数设为零,并对大于阈值的系数进行收缩;而硬阈值则直接将小于阈值的系数置零。 为了确定最佳阈值,研究者们提出了多种策略,例如通用阈值、假定噪声是高斯白噪声的情况下的Stein’s Unbiased Risk Estimate (SURE) 等。在阈值处理之后,再通过逆小波变换将经过筛选的系数重构回时域,以得到降噪后的信

2024-06-11

粒子群算法优化PID系数

本资源包括.m文件和simulink文件,实现粒子群算法优化PID系数。只需要运行.m文件即可,仿真程序在simulink中。 其中较为关键的是需要自行设置目标函数。这也直接决定了优化函数走向。常见的目标函数为稳态误差最小、超调量最小、调节时间最小,或赋予权重后,设置综合目标函数。由于优化过程是确定的,大家只需要修改目标函数即可。 粒子群算法与Simulink模型之间连接的桥梁是粒子(即PID控制器参数)和该粒子对应的适应值(即控制系统的性能指标)。优化过程如下:PSO产生粒子群(可以是初始化的粒子群,也可以是更新后的粒子群),将该粒子群中的粒子依次赋值给PID控制器的参数Kp、Kd、Ki然后运行控制器系统的Simulink模型,得到该参数对应的性能指标,该性能指标传递到PSO中作为该粒子的适应值,最后判断是否可以退出算法。

2024-06-10

GA-PSO-GWO遗传算法-粒子群算法-灰狼算法,联合自适应优化算法

为了克服使用单一智能优化算法在求解复杂问题中表现出的精度不高、易陷入局部最值、不能在全局搜索等一系列不足,算法融合的思想开始被研究和应用。将GA与PSO、GWO这三种经典算法进行融合,并辅以改进,从而利用它们的互补性,取长补短,提高求解复杂问题的能力。 无免费午餐定理,对任何优化问题,任两种优化算法的平均性能是相等的,没有任何一种优化算法在计算效率、通用性、全局搜索能力等性能方面都能表现得很好。 算法的混合也就成了算法优化领域的一个研究热点和趋势,混合有着固有的内在需求,不是简单地将算法组合叠加,要按照一定的策略和模式进行。 GA算法过程简单,全局收敛性好,多用于进行函数优化、数据挖掘、生产调度、组合优化、图像处理、机器学习等问题。但个体没有记忆,遗传操作盲目无方向,所需要的收敛时间长; PSO算法原理简单,用速度、位移公式迭代易于实现,具有记忆功能,需要调节的参数少,在寻优稳定性和全局性收敛性方面具有很大优势,但容易陷入局部最优值出现早熟,种群多样性差,搜索范围小,在高维复杂问题寻优时更为明显,多用于求解组合优化、模式分解、传感器网络、生物分子研究等领域。 联合GWO算法

2024-06-10

GA优化RBF神经网络

GA-RBF神经网络,即通过GA优化RBF的权重,由如下两个算法组成: 1 遗传算法 遗传算法是一种基于生物进化原理的优化算法,常用于解决复杂的问题。它的工作原理基于模拟自然选择和遗传机制。 2 RBF神经网络 RBF神将网络是一种三层神经网络,其包括输入层、隐层、输出层。从输入空间到隐层空间的变换是非线性的,而从隐层空间到输出层空间变换是线性的。流图如下: RBF网络的基本思想是:用RBF作为隐单元的“基”构成隐含层空间,这样就可以将输入矢量直接映射到隐空间,而不需要通过权连接。当RBF的中心点确定以后,这种映射关系也就确定了。而隐含层空间到输出空间的映射是线性的,即网络的输出是隐单元输出的线性加权和,此处的权即为网络可调参数。其中,隐含层的作用是把向量从低维度的p映射到高维度的h,这样低维度线性不可分的情况到高维度就可以变得线性可分了,主要就是核函数的思想。 这样,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又是线性的。网络的权就可由线性方程组直接解出,从而大大加快学习速度并避免局部极小问题。

2024-06-10

基于MATLAB的图形化语音去噪仿真 GUI

本文介绍了一种最佳的自适应滤波器结构,该结构采用最小均方差(LMS)作为判据,通过不断迭代自适应结构来调整得到最佳滤波器系数。并且,本文基于MATLAB的图形化语音去噪仿真系统。本文具体的研究内容如下: (1)首先介绍了语音信号去噪的基本理论,并对常见的去噪算法进行了介绍,如傅里叶算法、短时傅里叶算法、小波算法。 (2)深入分析了自适应滤波的基本理论,并重点研究了LMS自适应滤波的语音信号去噪模型。 (3)设计了一个基于MATLAB的图形化语音去噪仿真系统,支持IIR、FIR、LMS自适应滤波等多种语音去噪算法。通过对比各类语音去噪算法的实验结果,本文发现LMS自适应滤波算法具有最好的去噪效果。 二、GUI页面

2024-05-27

MATLAB 模型预测控制(MPC)工具箱的使用

   要用模型预测控制(MPC)做算法的对比实验,发现写纯.m文件有点麻烦,毕竟我不深入原理,于是用MATLAB/SIMULINK自带的MPC controller模块,真是太节省时间了。MPC需4个模块:被控对象的数学模型、预测模型、优化算法以及矫正反馈。使用自带的MPC control模块的话,只需要知道被控对象的数学模型就行了。下面用一个实例进行演示。 matlab程序(含simulink和.m程序),完整运行

2024-05-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除