自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【latex】论文及回稿时常用命令

个人自用。

2024-12-10 13:08:08 514

原创 【paper】四旋翼编队防撞防死锁:双模型预测控制 + 事件触发

2024.3Wang Sifei 湖南大学。

2024-12-02 17:04:32 1036 1

原创 【paper】输入和通信延迟的周期性事件触发鲁棒DMPC

(正定函数和 K 类函数):一个函数。

2024-11-28 19:27:27 824

原创 【paper】分布式无人水下航行器围捕智能目标

最后,如果所有行都分配给不同的 UUV 或所有 UUV 都分配了不同的行索引,任务分配结束,获得任务列表。防御性UUV的速度为外来UUV速度的√2/2,防御性UUV与对方UUV的距离为50 m。由于包围圈刚开始时较大,5号防御型UUV最先到达包围点,因此5号防御型UUV的航行轨迹与目标t2有些相似,以保持对包围点的占领。虽然这可能不是最优的逃离策略,但所提策略比随机的逃离策略更合理的,因为如果外来UUV采取随机的逃离方向,则会在被包围之前被拦截,该策略可以延迟拦截,使包围任务更加艰巨。∇T是增量到达时间。

2024-11-13 13:42:46 1552 1

原创 【八股】DDD领域驱动设计

🔜 是一种软件设计方法,核心思想是通过领域驱动设计方法定义领域模型,从而确定业务和应用边界,保证业务模型和代码模型的一致性。它倡导统一语言,提出了一系列概念,包括实体、值对象、聚合根等。🔜 优势:帮助开发团队更好地理解和表达业务模型,与业务领域专家进行沟通,减少误解,提高软件的质量和可维护性。加快跨职能团队的合作,确保软件系统与业务需求保持一致,并且能够应对变化和复杂性。打破了传统软件开发中需求分析和系统设计之间的隔阂,使得软件能够更灵活、快速地跟随需求变化。

2024-08-24 10:53:26 247

原创 【paper】环形虚拟管内的多无人机协同目标包围

2024.6.4

2024-06-04 10:49:05 749

原创 【paper】多无人机避障 - 模型预测编队跟踪控制

2024.0521-0522

2024-05-22 15:37:30 1592 8

原创 【paper】基于分布式采样的多机器人编队导航信念传播模型预测控制

2024.05.20

2024-05-20 16:39:42 1174

原创 【数据库02】优化、视图、触发器、锁、InnoDB引擎、事务高级

个人学习笔记记录。

2024-05-15 13:40:55 740

原创 【八股】消息中间件

👉延迟队列:进入队列的消息会被延迟消费的队列。👉TTL:time-to-live,消息的生存时间,TTL超时有以下两种情况。属性,指定死信消息要被转发到这个交换机中,这个交换机可以去绑定一个队列(设置。,消费者处理消息后向MQ发送ack回执,MQ收到ack后才会删除该消息。👉什么情况产生消息堆积:生产者发送消息的速度超过了消费者处理消息的速度。,如果消息发送失败会返回不同的ack【比如step1失败,响应。5. 要投递的队列消息堆积满了,最早的消息可能成为死信。),这样其他的消费者可以从该队列中消费消息。

2024-05-10 21:10:34 253

原创 【leetcode】数学位数题总结

涉及题型:两数相加问题、大数溢出等。

2024-05-10 12:33:47 437

原创 【八股】测开

黑盒测试:黑盒测试是一类测试方法,测试人员不需要了解被测试系统的内部结构或实现细节,而是将其视为一个黑匣子,只关注输入和输出之间的关系。黑盒测试方法:👉等价类划分:等价类划分即将输入分为若干部分,然后从每个部分选取少量代表性数据进行测试,有利于减少测试用例的数量。等价类分为有效等价类和无效等价类,通过有效等价类验证系统的正确性,通过无效等价类验证系统的健壮性。👉边界值分析:软件错误往往发⽣在输⼊或输出范围的边缘,所以边界值分析专注于测试输⼊数据的边界条件,⽽不是中间值。

2024-04-28 21:29:42 361

原创 【八股】JUC并发编程篇

👉抽象队列同步器,就是一种锁,内部维护的是一个先进先出的双向队列,队列中存储的是排队的线程,用state来标识是否有线程获得锁【0是无锁状态】👉流程:当一个线程拿到锁后会修改state = 1,这时如果有其他线程访问则会进入队列进行排序,直到state变成0后,队头线程才会拿到锁。在对state进行修改时,用的是CAS操作,所以可以保证原子性。👉它可以实现公平锁或非公平锁【默认】,上述是一个公平锁。如果新线程和队头线程抢锁资源就是非公平锁。

2024-04-28 21:28:38 283

原创 【八股】MySQL篇

👉聚簇索引是指数据和索引一起存储,B+树的叶子节点存储了所有的行数据,有且只有一个👉二级索引是指数据和索引分开存储,B+树的叶子节点只存储数据对应的主键,一般用户自己创建的索引都是二级索引,可以有多个👉回表查询发生在使用二级索引查询的时候,找到对应的主键值再到聚簇索引中查找整行数据👉指查询使用了索引且需要返回的列在索引中能够全部找到,不需要回表查询,比如使用id聚簇索引,一次索引扫描返回行的所有数据。

2024-04-27 20:07:20 1634 1

原创 【八股】数据结构篇

所有整数类型能够表示的负数都比正数多一个,数字是以“补码”的形式存储在计算机中的。基于补码表示,计算机可以用同样的电路和操作来处理正数和负数的加法,不需要设计特殊的硬件电路来处理减法,并且无须特别处理正负零的歧义问题。这大大简化了硬件设计,提高了运算效率。举例:在原码下执行1 + (-2) 会得到 -3,反码【除符号位外,对原码的所有位取反】可以解决这个问题;+0和-0的原码和反码是不同的(因为首位是符号位),补码是相同的【在反码的基础上+1】

2024-04-27 13:16:48 1669

原创 【vscode+latex报错】bib Cannot find citation `xxx`

【代码】【vscode+latex报错】bib Cannot find citation `xxx`

2024-04-26 11:17:30 2163 6

原创 【八股】Spring篇

Spring IoC容器创建、管理和依赖注入的对象称之为bean一个bean定义包括如何创建一个bean,它的生命周期详情及它的依赖。当一个bean仅被用作另一个bean的属性时,它能被声明为一个内部bean,为了定义inner bean,在Spring 的 基于XML的 配置元数据中,可以在或元素内使用 元素,内部bean通常是匿名的,它们的Scope一般是prototype。

2024-04-25 13:16:41 1314 4

原创 【八股】Java基础、集合、JVM

可以接受0个或多个参数,如果有固定参数,则可变长参数一定要写在固定参数的后面。在重载的情况下,会优先匹配固定参数当方法调用的深度超出了栈内存的限制【栈帧过多】,比如无限递归,或者是方法定义的局部变量过多会导致栈溢出【栈帧过大】。解决方案:动态扩展栈(HotSpot不支持),减少递归调用深度、减少局部变量。是一种即时编译器,一些热门代码在由字节码编译成机器码的过程中时,会被JIT永久保存下来。作用是提高运行效率👉回收不再使用的 Java 对象【没有任何的引用指向该对象】所占用的内存空间,防止内存泄漏。

2024-04-24 09:52:27 1551

原创 【八股】非关系型数据库篇(Redis+ES)

🙂缓存:缓存穿透、击穿、雪崩、双写一致、持久化、数据过期、数据淘汰策略🙂分布式锁:setnx、redisson🙂消息队列、延迟队列、保存token:何种数据类型🙂计数器。

2024-04-23 17:20:14 3077 1

原创 【八股】计算机网络篇

👉由于 TCP 传输协议是面向字节流的传输协议,没有消息保护边界,所以发送方发送的多个数据包,接收方应用层不知如何区分,可能会被当成一个包来处理,这就是粘包;或者,发送方将一个打包分成多个小包发送,而接收方将它们当成多个包进行处理,这就是拆包。👉解决方法:将首尾字符用特殊字符分隔 | 使用变长协议,在报文头中指定当前报文中数据的长度。(如HTTP协议)服务器第一次收到客户端的 SYN 之后,就会处于。

2024-04-22 16:18:40 1816 2

原创 【数据结构】排序

在数组中选取三个候选元素(通常为数组的首、尾、中点元素),并将这三个候选元素的中位数作为。执行哨兵划分 partition() 【完全有序的输入数组在每次划分时占用栈帧空间大】遍历整个数组,保持左侧的始终是排序好的数组,将当前元素插入到左侧对应的位置。与冒泡排序的区别是:冒泡在每个内循环都会交换,而选择只会在外循环交换。分治思想:将两个或多个已经有序的序列合并成一个。在待排序元素中选取最小(最大)的元素加入序列。【解决输入数组是完全倒序的最差情况】进行多次的、间隔的插入排序。先划分【中点处】后合并。

2024-04-22 15:08:02 1183

原创 【八股】操作系统篇

终端是/dev/tty文件夹下的文件,是用户与操作系统进行交互的界面,用户可以通过终端执行命令、操作文件和程序等。在单线程环境中,通常不需要使用锁,因为在单线程中,协程的执行是顺序的,不会出现并发访问的情况。而在多线程环境中,如果协程之间存在并发访问共享资源的情况,就需要考虑使用锁来保护资源的访问,否则可能会发生竞态条件(Race Condition)等并发访问问题。系统调用会创建一个与父进程几乎完全相同的子进程,包括代码段、数据段、堆栈等,并且在子进程中返回0,在父进程中返回子进程的进程ID。

2024-04-20 22:24:39 1034 1

原创 【leetcode】动态规划

最优蛋糕售价爬楼梯最大子数组和珠宝的最高价值解密数字丑数统计结果概率最长公共子序列

2024-04-14 21:57:08 366

原创 【刷题小tips】

前缀和是指一个数组的某下标之前的所有数组元素的和(包含其自身)。前缀和分为一维前缀和,以及二维前缀和。

2024-03-16 21:18:50 298

原创 【数据库01】MySQL数据库开发基础篇

引言:在web开发中,一般将web应用程序分为三层,即:Controller、Service、Dao。由Dao来访问数据库。数据库(DataBase,简称DB):它是存储和管理数据的仓库。数据库管理系统(DataBaseManagementSystem,简称DBMS):操作和管理数据库的大型软件。SQL(StructuredQueryLanguage,简称SQL):结构化查询语言,它是操作关系型数据库的编程语言,定义了一套操作关系型数据库的统一标准。

2024-03-06 21:33:54 2199

原创 【Java】设计模式

个人学习到的设计模式总结什么是设计模式?一类问题可能会有多种解决方案,而设计模式是在编程实践中,多种方案中的一种最优方案。设计模式有20多种,对应20多种软件开发中会遇到的问题主要学习:解决什么问题 | 怎么写。

2024-03-06 20:37:05 463

原创 MAVEN | 配置 + 创建 + 导入【IDEA 2022.1.3】

并解压至自己指定的文件夹,这里我存放在(路径里不要包含中文)

2024-03-04 14:19:00 411

原创 【Java基础】最全(也不一定)笔记整理向

方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用格式:​修饰符(public static)返回值类型方法名形参列表){​方法体代码(需要执行的功能代码)​return 返回值public static int sum(int a, int b){ //定义求和的方法return c;Tips:一个方法不能定义在另一个方法的里面,比如必须写在main函数的外面,放前放后无所谓。方法不调用就不会执行return后面的代码无效,写了也没用。

2024-03-01 16:43:17 1281 1

原创 【解决方案】ImportError: cannot import name ‘docstring‘ from ‘matplotlib‘

【代码】【解决方案】ImportError: cannot import name ‘docstring‘ from ‘matplotlib‘

2023-10-17 15:42:53 1649

原创 【git】

【代码】【git】

2023-10-12 21:13:21 121

原创 【github项目学习】Gcopter

高飞实验室。

2023-09-13 12:52:52 1645 1

原创 【四旋翼】微分平坦

x˙fxgxux:位置p,速度v,姿态R,角速度wu:四轴总推力thrust,四轴总力矩torquee3:单位矢量,[0,0,1]朝上 |:重力矢量f:标量,总推力大小 | R:旋转矩阵 |:无人机的总推力矢量转换到惯性系下v:惯性系下的速度 |:将惯性系下的速度旋转到机体系下,加-号是为了抵抗风阻D:diag(dh,dh,dv) 风阻系数| 无人机因为自己的运动所导致的受风力情况。

2023-09-11 20:40:01 824

原创 【MATLAB报错】检查对函数 ‘Polyhedron‘ 的调用中是否存在不正确的参数数据类型或缺少参数。

这种错误一般都是由于未下载相应的Toolbox造成的,函数说明中通常有所需包的信息。脚本复制到matlab中运行即可。

2023-09-11 14:55:15 1189

原创 【python】学习记录

class UAV:def __init__(self,id,color): #构造函数类实例化F1 = UAV(1,'red') #调用init创新新对象,将对应属性赋值print(f"无人机的id为F1 = UAV(1 , 'red') #调用init创新新对象,将对应属性赋值 print(f"无人机的id为 {F1 . id } ,颜色是 {F1 . color } ,飞机模型为 {id。

2023-09-10 21:14:43 199 1

原创 【github项目学习】Swarm-Formation

高飞实验室集群。

2023-09-03 21:57:36 860 1

原创 【C++】函数

函数定义(Function Definition):函数定义是在程序中提供函数实现的地方。它包括函数的返回类型、函数名、参数列表和函数体。函数定义描述了函数的具体实现。函数声明(Function Declaration):函数声明是在程序中告诉编译器函数存在的地方。它包括函数的返回类型、函数名和参数列表,但没有函数体。函数声明用于引用在当前作用域之外定义的函数。类型定义(Type Definition):类型定义是为已有类型定义一个别名,以提高代码可读性和灵活性。通过使用typedef。

2023-08-28 16:29:58 117 1

原创 【OSQP】MPC代码学习与部署

u的最大值最小值约束一个osqp实例需要参数PqAlu分别对应目标函数中的二次型矩阵线性矩阵,关于决策变量的线性约束Alu。

2023-07-27 16:26:52 1484 2

原创 【ros2】ModuleNotFoundError: No module named ‘cffirmware‘

最近在配置crazyflie的一个新的工具箱CrazyChoir,资料也太少了,还花时间了解了一下期间报的一些错在偌大的一个互联网都捞不到的程度,哎…

2023-07-18 17:42:40 559 3

原创 【VSCode】好用插件(个人向推荐)

vscode好用插件

2023-07-14 14:08:26 229 1

原创 【C++】内联函数

这样在程序执行过程中,不需要进行函数的调用和返回操作,减少了额外的开销,尤其对于一些简短的函数来说,内联可以提供较好的性能优势。这在简单的加法函数中可能不会带来很大的性能提升,但在大量的函数调用中,内联可以减少函数调用的开销,提高程序的执行效率。内联函数是一种在编译器编译源代码时进行的优化手段,它的作用是将函数的定义直接插入到函数调用的地方,而不是通过函数调用的方式进行执行。当编译器遇到这些函数调用时,如果函数被声明为内联函数,它会将函数的定义直接插入到函数调用的地方,而不是通过函数调用的方式进行执行。

2023-06-16 21:01:54 595 1

空空如也

空空如也

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

TA关注的人

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