自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 矩阵求逆的三种方法

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

2024-02-13 23:09:21 205

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

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

2024-02-13 21:55:45 853

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

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

2024-02-13 21:04:45 375

原创 基于麻雀优化算法优化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 540

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

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

2024-02-06 13:36:00 287

原创 MATLAB语音去噪系统

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

2024-02-06 13:08:21 929 1

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

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

2023-10-24 23:57:37 275

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

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

2023-07-09 21:59:31 222

原创 电芯测试要点与框架

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

2023-07-09 21:57:15 1184

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

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

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

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

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

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

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

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

2022-11-23 14:46:06 664 4

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

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

2022-10-30 19:45:51 1091

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

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

2022-06-29 19:47:28 1101

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

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

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

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

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

2022-06-14 20:37:59 1631 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 1457 1

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

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

2022-05-03 16:52:38 1626

原创 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 1185

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

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

2022-03-15 13:40:07 4153

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

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

2022-03-09 09:57:41 360 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 4892 2

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

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

2022-03-03 10:03:17 9

原创 阅读ArrayList源码

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

2022-03-02 21:57:38 283

原创 基于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 2724

原创 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 886

原创 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 5724 2

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

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

2022-02-21 11:29:42 6751

原创 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 206

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

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

2022-02-17 22:54:25 192

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

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

2021-11-13 10:57:59 1714

原创 有源阻尼抑制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 4097 1

转载 回复审稿人意见

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

2021-10-30 14:23:53 1495

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

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

2021-10-26 09:46:58 2634

原创 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 3416 1

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

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

2021-08-10 22:09:53 3453

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

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

2021-05-17 21:31:22 5511

原创 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 3523

原创 使用MATLAB绘制重复控制器的bode图

目录0背景1重复控制器模型2 编写matlab程序3结果示例0背景 上午想绘制重复控制器的伯德图,但是因为重复控制器属于离散系统,所以不同于常规的线性连续系统,不是很好绘制,同时CSDN、MATLAB/SIMULINK论坛上也没有什么分享,经过1个多小时的摸索,我终于搞明白了,现在分享给大家,防止大家重复浪费时间。1重复控制器模型Fig.1 重复控制器的框图Fig.2重复控制器数学模型 当我们取Q = 0.95,N = 200...

2021-04-20 14:36:10 3862 7

原创 【疯狂JAVA讲义5】第五章(面向对象上):Java的运行机制

编译语言的运行原理:编译型语言:C、C++、Objective-C、Swift、Kotlin等高级语言1.编译生成的目标程序(针对特定平台的机器指令),只能在特定的平台上运行,不能跨平台。2.性能好解释型语言:JavaScript、Ruby、Python等语言。1.能跨平台Java语言既有编译(不彻底的编译、编译成字节码文件),又有解释(每次运行时,由JVM将字节码翻译成对应平台的机器指令)。1.性能好2.能跨平台【面试题】JVM的原理是什么?Jav...

2021-04-16 16:38:27 171

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

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

2024-05-06

空空如也

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

TA关注的人

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