PID控制算法,可以将其看作是一个 ​​“不断尝试缩小目标与现状之间差距”的智能调节器​​。它广泛应用于工业控制(如温度、压力、流量控制)、机器人、自动驾驶、无人机稳定系统等需要精确调节物理量的场景。 其核心思想很简单:​​测量当前状态(Process Value, PV),与期望的目标状态(Setpoint, SP)进行比较得到误差(Error, e),然后根据误差的“现在大小”、“历史积累”和“未来变化趋势”三个方面来计算一个控制量(Control Output, u),驱动执行器去减小误差,使过程变量尽快、平…

2025年6月29日 0条评论 131点热度 1人点赞 MuWinds 阅读全文

一、基本概念 最优化:首先是一种理念,其次才是一种方法,它所追求的是一种“至善”之道,一种追求卓越的精神。例子:小明同学,烧一壶水要8分钟,灌开水要1分钟,取牛奶和报纸要5分钟,整理书包要6分钟,为了尽快做完这些事,怎样安排才能使时间最少?最少需要几分钟? 最优化问题的数学模型的一般形式为: \begin{align*} &\text{opt } z = f(x) \\ &\text{s.t. } h_i(x) = 0, \quad i = 1, \cdots, l \\ &\qquad g…

2025年6月28日 0条评论 327点热度 0人点赞 MuWinds 阅读全文

线性回归模型​​,它是统计学和机器学习中最基础、最核心的预测模型之一,主要用于解决​​回归问题​​,即预测一个​​连续的数值型输出​​。 核心思想:建立“输入”与“输出”之间的线性关系 线性回归的核心目标非常直观:​​假设并建模目标变量 y(因变量、输出)与一个或多个预测变量 x(自变量、特征、输入)之间存在的线性关系。​​ 它试图找到一条(简单线性回归)或一个平面/超平面(多元线性回归)来“最佳”拟合数据点,从而当我们知道 x 的值时,就可以基于这条线/平面预测 …

2025年6月17日 0条评论 57点热度 0人点赞 MuWinds 阅读全文

KMP算法(Knuth-Morris-Pratt)是一种高效的字符串匹配算法,它通过避免回溯主串指针来实现O(n+m)的时间复杂度。要深入理解KMP算法,需要掌握其核心思想——​​部分匹配表(Pi数组)​​和​​匹配过程中的智能回退机制​​。 1. 核心思想:利用已匹配信息避免重复比较 传统暴力匹配算法在每次失败时需要回溯主串指针,导致大量重复比较。KMP算法通过预处理模式串,构建一个"部分匹配表"(Pi数组),利用这个表在匹配失败时只回退模式串指针,主串指针永不回溯。 2. 部分匹配表(Pi数组) Pi数组存储了…

2025年6月15日 0条评论 75点热度 0人点赞 MuWinds 阅读全文

一、定义与核心目的​​ 二、适用场景​​ 三、测试范围设计原则​​ 四、执行逻辑与流程​​ ​​五、与企业级测试策略的关联​​ 测试类型 目标 执行频率 深度 ​​Smoke Test​​ 验证核心功能可用性 每次构建/部署 浅层 ​​Regression Test​​ 确保修改未破坏现有功能 主要版本发布前 中层 ​​Performance Test​​ 评估系统负载能力 季度/重大变更后 深层 六、典型案例分析​​ ​​场景:银行核心系统版本升级​​ ​​工具链示例​​: 七、常见误区与避坑指南​​ 八、进阶实…

2025年5月27日 0条评论 95点热度 0人点赞 MuWinds 阅读全文

一、核心概念与设计意义​​ ​​二、切换机制与实现细节​​ ​​切换触发条件​​ ​​上下文切换细节​​ ​​三、实际应用与性能影响​

2025年5月27日 0条评论 65点热度 0人点赞 MuWinds 阅读全文

What are hypervisors? A hypervisor is a software that enables multiple virtual machines (VMs)—each with its own operating system (OS)—to run on one physical server. The hypervisor pools and allocates physical computing resources as needed by the VM, enabl…

2025年5月24日 0条评论 108点热度 0人点赞 MuWinds 阅读全文

C/C++程序的编译过程分为四个关键阶段:​​预处理(Preprocessing)、编译(Compilation)、汇编(Assembly)和链接(Linking)​​。每个阶段承担不同任务,最终将源代码转换为可执行文件。 一、预处理阶段(Preprocessing) 预处理是编译的第一步,主要处理源代码中以 # 开头的指令,生成经过处理的中间代码(.i 文件)。核心功能包括: ​​示例命令​​: 预处理器的核心功能 预处理与编译流程的关系 预处理的实际应用与注意事项 预处理指令示例 …

2025年5月22日 0条评论 117点热度 0人点赞 MuWinds 阅读全文

A.原子性 即一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。原子性确保对共享资源的操作不会被其他线程干扰,从而避免数据不一致性(如竞态条件) 本质​​:原子性依赖于硬件和编译器的支持,例如CPU的原子指令(如x86的LOCK前缀)或编译器生成的原子操作代码,确保操作在底层不可分割。 一个很经典的例子就是银行账户转账问题: 比如从账户A向账户B转1000元,那么必然包括2个操作:从账户A减去1000元,往账户B加上1000元。试想一下,如果这2个操作不具备原子性,会造成什么样的后…

2025年5月19日 0条评论 82点热度 1人点赞 MuWinds 阅读全文

有两个人 A 和 B。 A 通过网络向 B 发送一条消息。B 收到了之后,怎么确认: 1.这条消息没有被中间人篡改过 2.这条消息确实来自于 A,而不是某个 C 伪造出来的 答案就是使用 MAC。A 在发送消息时,计算出该消息的 MAC 值,并将其一起发送给 B。B 收到之后,便可以根据 MAC 确认 1 和 2. 直接出公式:MAC = 散列 + 对称密钥 也就是说,消息验证码 MAC 是散列技术和对称密钥技术的联合使用。 首先说散列,散列的作用是防篡改。 任何一段消息,不管有多长,都可以通过一个散列算法计算出一…

2025年5月2日 0条评论 65点热度 0人点赞 MuWinds 阅读全文
12