自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cmake总结

摘要:CMake是一个跨平台构建系统生成器,通过CMakeLists.txt配置文件自动生成平台特定的构建文件。其特点包括跨平台支持、简化配置、自动化构建和灵活性。CMake命令不区分大小写,变量区分大小写(内置变量通常大写)。常用指令包括:变量赋值(set)、条件语句(if)、添加子目录(add_subdirectory)、指定项目(project)、生成可执行文件(add_executable)和库文件(add_library)、链接库(target_link_libraries)以及配置头文件路径(i

2026-01-10 12:35:53 689

原创 数据竞争问题

摘要:数据竞争会导致不可预测的结果,原因是像count++这样的操作不是原子性的。当多个线程同时执行count++(读取、加1、写回)时,指令可能交错执行。例如两个线程对初始值为0的count执行++操作,由于执行顺序交错,可能导致最终结果只增加1而非预期的2。这揭示了非原子操作在多线程环境下的风险。

2026-01-09 11:07:36 11

原创 前导零计数

摘要:前导零计数(CLZ)是处理器的硬件指令,用于快速统计二进制数最高位开始的连续0个数。FreeRTOS利用该指令高效查找最高优先级就绪任务:将32位数据的每位对应一个优先级(bit31为最高优先级),就绪任务对应位置1。通过CLZ指令计算最高优先级位数,再用31减去该值即得最高优先级。这种硬件级优化显著提升了任务调度效率。

2026-01-05 16:21:44 18

原创 虚拟内存、进程、线程和协程的关系

虚拟内存的实现依赖CPU中的MMU硬件模块,如树莓派等具备MMU的设备可运行支持虚拟内存的系统(如Linux/Windows),而ESP32等无MMU设备则无法实现。虚拟内存通过将物理内存与磁盘空间结合,为进程提供独立连续的地址空间,实现三大优势:突破物理内存限制、简化内存管理、增强安全性(进程隔离和权限控制)。实时系统(如FreeRTOS)通常不实现该功能。

2026-01-04 20:50:41 29

原创 python操作文件

本文介绍了Python os库的常用文件操作函数,包括获取目录内容(os.listdir)、路径拼接(os.path.join)、路径检查(os.path.exists/os.path.isfile/os.path.isdir)、路径解析(os.path.basename/os.path.dirname)以及文件删除(os.remove)和重命名(os.rename)等功能。这些函数提供了基本的文件系统操作能力,可用于处理文件路径、检查文件/目录存在状态以及执行简单的文件管理任务。

2025-12-28 14:40:58 214

原创 利用计算机辅助数学运算

本文介绍了使用Python的SymPy和SciPy库求解数学问题的基本方法。SymPy主要用于符号运算,包括创建符号变量(symbols函数)、合并有理式(together)、化简无理式(simplify)、分解有理分式(apart)以及求解方程(solve)。文章还说明了如何将SymPy结果转换为LaTeX格式(latex函数),并提供了相关函数的使用示例和参数说明,如创建实数变量、分式合并选项等。数值解部分则推荐使用SciPy库。

2025-12-28 11:17:59 147

原创 c语言uint8_t数组转成uint16_t整数

摘要:该函数实现了将uint8_t数组中相邻两个字节转换为uint16_t整数的功能。通过位运算将第一个参数作为低8位,第二个参数左移8位作为高8位,组合成16位整数返回。示例展示了如何将数组前两个字节{12,13}正确转换为3340(0x0D0C)。函数参数包括数组指针和两个字节位置索引。

2025-12-24 16:48:05 22

原创 python项目管理

摘要:Python包管理经历了从早期pip方案到现代poetry工具的演进。早期pip方案存在无法自动移除间接依赖的问题。现代方案采用pyproject.toml配置文件,其中Poetry是集依赖管理、虚拟环境和打包发布的一站式工具。Poetry通过add/remove命令管理依赖,支持虚拟环境创建和Python版本控制,并自动处理间接依赖问题。相比传统pip方案,Poetry提供了更完整的项目管理功能,包括依赖锁定、环境隔离等特性,成为现代Python项目管理的推荐方案。

2025-12-19 22:35:07 708

原创 支持向量机

摘要:支持向量机(SVM)的性能高度依赖核函数选择,其核心思想是通过寻找最优超平面实现分类。硬间隔SVM要求严格线性可分,而软间隔SVM通过惩罚系数C平衡分类误差与间隔大小。SVM仅由支持向量决定决策边界,适合高维数据,但对核函数敏感且多分类处理效率低。关键要素包括核函数、拉格朗日乘子法和间隔优化,其中核函数构造方法直接影响模型表现。

2025-11-29 15:59:57 242

原创 注册表讲解

注册表是Windows系统的核心数据库,采用树形结构管理配置信息,包含5个根键。其中HKEY_CLASSES_ROOT键管理文件关联和右键菜单设置,其子键包括:1)以点开头的文件扩展名键,用于配置打开方式;2)*键用于全局文件配置;3)CLSID键包含程序组件的线程模型配置;4)Directory键可配置文件夹右键菜单。通过OpenWithProgids键可实现文件扩展名与程序的关联,并设置默认打开程序。注册表通过shell键配置文件的右键菜单选项,背景菜单则通过Directory/Background/s

2025-11-17 22:35:54 349

原创 运算放大器虚短的本质解释

摘要:运算放大器具有两个本质特性:1)放大特性vout=A(v+-v-),输出受供电电压限制;2)输入高阻抗特性,输入电流近似为零。虚短特性可由上述特性推导得出。在同相放大器中,反馈机制会使得v-逐渐趋近v+,最终达到v+=v-的动态平衡状态。模拟实验表明放大倍数越大,稳定时v+与v-的差值越小。通过Python代码模拟了输出电压和反馈电压的动态变化过程,验证了运算放大器的闭环工作原理。

2025-11-15 17:06:57 64

原创 正负反馈的判别

摘要:本文介绍了电路反馈的基本概念和分类(正/负反馈),重点阐述了反馈回路的判断方法。详细说明了三极管各极电压变化规律、运算放大器的工作原理,以及反馈回路方向的判定规则。介绍了瞬时极性法用于判断反馈性质:选择回路起点施加电压变化,跟踪回路各点电压变化,最终确定反馈类型。同时提到反馈还可按电压/电流、串联/并联、直流/交流等方式分类。文章通过实例演示了负反馈的判断过程。

2025-11-15 16:09:42 58

原创 本专栏所有论文笔记规范

论文题目的中文和主要作者(一般写第一作者即可),以标题一格式。算法描述:尽量翻译为中文的算法描述,可以加入自己的理解。公式:可以将论文中的公式截图,每个公式都要编号。以后我的每篇论文的笔记均遵从下面规范。相同主题的论文尽量放在一篇文章中。

2025-10-31 23:26:07 28

原创 poppler安装及配置(待更新)

本文简要介绍了pdf2image的Windows安装方法,包括从指定网址下载稳定版本,将bin目录添加到环境变量,并通过终端输入"pdftoppm -h"测试安装是否成功。最后提到由于发现pdf.js可能更适合在Qt中使用,因此暂停了该安装方案的继续研究。文章提供了安装过程的要点说明和中断原因。

2025-09-15 18:21:54 555

原创 二分类的分类任务

对于机器学习和深度学习来说随机变量可以有X,Y,Z,这是由于经常将样本的x和y分开研究所以随机变量也经常用X和Y,我这里再引入一个Z,Z的取值是x和y的组合,即(x,y)。在我的所有机器学习和深度学习相关的文章中将会如此使用,以后不再说明。

2025-09-14 15:40:08 200

原创 树莓派学习笔记

树莓派串口配置指南:3代及后续机型需在config.txt添加"dtoverlay=pi3-miniuart-bt"禁用蓝牙占用,并修改cmdline.txt文件内容。早期版本可直接连接。建议使用Xshell工具,具体操作可参考B站教程视频。不同型号树莓派的串口引脚定义统一,配置时需注意硬件版本差异。

2025-09-13 10:12:40 61

原创 sklearn集成学习

摘要:AdaBoostClassifier类核心参数包括estimator(基础学习器)、n_estimators(最大迭代次数)和learning_rate(学习率),其中学习率与迭代次数存在权衡关系。AdaBoostRegressor类比Classifier类多一个loss参数,用于指定权重更新时的损失函数类型(linear/square/exponential)。学习率影响模型稳定性,高学习率减少估计器数量但可能不稳定,低学习率需要更多估计器但更稳定。两类算法通过调整这些参数实现性能优化。

2025-09-13 10:12:16 36

原创 sklearn朴素贝叶斯模型

本文介绍了GaussianNB高斯朴素贝叶斯分类器的两个关键特性。参数priors用于指定已知的类别先验概率P(y),当传入该参数时可避免从数据中估算。方法部分说明了partial_fit()用于增量学习,predict_joint_log_proba()用于预测样本的对数联合概率。该分类器适用于需要快速实现且特征间独立性假设成立的场景。

2025-09-13 10:12:00 48

原创 sklearn距离

X和Y是样本矩阵,它们的形状分别为(n_samples_X, n_features)和(n_samples_Y, n_features),这个函数是计算X和Y之间的曼哈顿距离,返回值也是个矩阵,形状为(n_samples_X, n_samples_Y),它的第i行第j列元素表示X中的第i个样本到Y中的第j个样本之间的距离。以metrics.pairwise.manhattan_distances为例讲解如何使用。

2025-09-13 10:11:38 36

原创 贝叶斯模型

摘要:朴素贝叶斯模型基于贝叶斯定理和特征独立性假设,通过条件概率实现分类,核心涉及条件概率公式和概率密度函数。其半朴素改进版本(ODE、SPODE、AODE、TAN)放宽独立性假设,在医学诊断、垃圾邮件过滤等领域展现优势。这些模型通过处理特征间依赖关系,在故障诊断、客户细分等场景中提高预测准确性,其中TAN还能构建特征依赖网络用于气象预测和基因分析。(149字)

2025-09-13 10:11:17 64

原创 线性模型介绍

思想:将目标值表达成特征值以及1的线性组合,线性回归模型的训练过程可以认为就是在寻找这个线性组合的过程。核心内容(损失函数):最小二乘法。优点:1、可解释性强,因为能够通过这个线性组合直观看出每个特征对目标值的影响程度。2、能够具有处理线性关系的数据。缺点:1、对非线性关系的数据拟合能力差。2、多重线性问题无法解决,因为多重线性问题会导致最小二乘法求解中的那个矩阵近似奇异导致模型不稳定,即特征值的微小变动都会导致w的巨大变化,如果矩阵奇异的化就根本无法求解了。

2025-09-13 10:10:30 50

原创 sklearn线性模型

拟合线性模型,其中X表示二维矩阵,形状为(n_samples, n_features),y表示二维矩阵,形状为(n_samples, n_targets),sample_weight是一维数组,表示每个样本的权重,也就是每个样本的可信度,值越大的表示这个样本数据越可信即越真实,值可以是小数可以是整数。返回使用的迭代器名称。

2025-09-13 10:09:54 40

原创 值得记录的一些电容相关电路

有记录价值的电容相关电路有电容并联电路,积分和微分电路,

2025-09-13 10:09:33 57

原创 三极管相关电路

三极管相关电路总共可以分成12种电路,分别为:开关电路、恒流源电路、恒压源电路、镜像电流源电路、推挽驱动电路、自锁电路、震荡电路、数字逻辑门、音频放大电路、运放内部集成、比较器内部集成、各种控制以及保护电路。三极管特性:1、三极管当开关计算时会让它工作在饱和区相应的Uce电压为0.1-0.3v,而计算时通常取0.3v即可。2、硅三极管be导通时有0.7v压降。3、从导通到放大区再到饱和区Uce电压会不断减小。

2025-09-13 10:08:55 123

原创 滤波器总结

滤波器有硬件滤波和软件滤波。

2025-09-13 10:08:30 54

原创 电容分类及用途

陶瓷电容包括:瓷片电容、独石电容。介电材料:陶瓷。容量:独石电容远大于瓷片电容。独石电容容量一般在0.5pf-100uf额定电压:独石电容远小于瓷片电容。独石电容额定电压一般小于100v,应用:独石电容一般应用在功率较小的场景下。

2025-09-13 10:08:02 95

原创 networkx库和graph-tool库

本文参考文献:1、图论的算法与程序设计(已保存到我的gitee)2、networkx官方文档。3、graph-tool官方文档。注意1:学习图论以networkx为主以graph-tool为辅来学习,这样是比较合理的,networkx接口多所以上手快学习简单但是不如graph-tool速度快,graph-tool底层用c++实现速度很快,但是接口少,并且这两个库可以互补有些功能只在networkx中有有些功能只在graph-tool中有。

2025-09-13 10:07:15 1107

原创 用图论来解决问题

参考文献:1、图论的算法与程序设计(已保存到我的gitee)注意:1、本文章只写出每个图论问题对应的经典的实际问题的名称,但是详细内容需要查看《图论的算法与程序设计》,比如图的最短路径问题对应的实际问题时渡河问题,如果想知道怎么回事需要在书中查询,为了好查询对应的内容我已经用彩笔做了标记。

2025-09-13 10:06:33 458

原创 sklearn聚类

在此将sklearn官网的一张关于聚类算法比较的图片放过来。下面的表格是根据sklearn官网翻译而来。

2025-09-10 15:43:43 130

原创 sklearn数据预处理

归一化处理后的范围,默认将数据处理成0到1的范围。介绍:用于将数据集的每个特征的特征值进行归一化处理,即比如每个数据集中有两个特征,它会分别对每个特征进行归一化处理。MinMaxScaler类。

2025-09-10 15:43:20 39

原创 sklearn流行学习

特别注意sklearn中的Isomap算法使用的不是MDS算法而是KPCA算法,这与西瓜书的Isomap算法描述不对应,不过这并不是什么大问题,因为Isomap其实最重要的是得到测地线距离,而这个类的dist_matrix_ 属性就可以获得距离为测地线距离的距离矩阵。参数每个样本点的近邻的数量,如果这个参数非空那么radius参数必须为空。每个样本点的近邻点的最大距离,比如参数值为1表示距离样本点小于1的点为它的近邻点。变换后的数据维度。

2025-09-10 15:43:04 94

原创 linux驱动开发

本文介绍了Linux开发环境搭建与内核开发的要点。首先需要配置交叉编译工具链和安装开发工具包,主要包括u-boot编译、内核镜像生成和设备树文件处理。内核目录结构中,arch、init等目录与启动相关,drivers、fs等分别对应驱动和文件系统。内核模块开发分为静态和动态两种方法:静态方法需修改内核源码目录的Makefile/Kconfig;动态方法则更推荐,可在独立目录编写模块并通过指定内核路径进行编译。文章还提供了模块操作命令(insmod/rmmod等)和信息宏的使用方法,以及多模块编译的Makef

2025-09-10 15:42:38 119

原创 电源相关电路设计

变换器:它比较宽泛,可以指交流变直流、直流变交流、直流变直流、交流变交流。逆变器:直流变交流。

2025-09-10 15:42:17 548

原创 集成学习(ensemble learning)

集成学习主要有两类,一类是boosting族算法,即序列化方法,一类是bagging族算法,即并行化方法。

2025-09-10 15:41:54 45

原创 元器件介绍以及选型

电容和电阻的封装和功率关系表如下所示。常用的封装有0402、0603、0805、1206、1210。

2025-09-10 15:41:31 679

原创 信号与系统

本文总结了西安电子科技大学《信号与系统》MOOC课程的核心内容。重点包括:1)信号与系统在线性时不变系统框架下的研究,强调网络函数作为系统本质特征;2)傅里叶分析的两种形式(级数和变换)及其应用,包括狄利克雷条件、吉布斯现象等关键概念;3)拉普拉斯变换作为傅里叶变换的扩展,特别是其单边变换在因果信号分析中的作用;4)系统稳定性判断、信号流图与梅森公式等系统分析方法。课程展现了从时域到频域的系统性理论框架,为信号处理提供了重要数学工具和分析方法。

2025-09-10 15:40:10 705

原创 泛函分析总结

1、连接两个赋范线性空间的线性算子的有界和连续是等价的。2、有限维赋范线性空间上所有范数是等价的。也就是说诱导的拓扑结构是等价的3、riesz引理:赋范线性空间是有限维的,当且仅当它的单位球是紧集。这是判断赋范线性空间空间是有限还是无限维的关键。为了简写和好记进行如下书写格式。在赋范线性空间中1、线性算子的有界和连续是等价的。2、有限维时,线性算子连续。也就是说无界线性算子仅存在于无限空间。3、有限维时,有界集等价于列紧集。4、有限维时,范数等价。5、有限维时,为有限维的巴纳赫空间。

2025-09-10 15:39:13 1193

原创 多任务相关概念

本文所有认为是重点的都进行加粗处理,如果后续认为不重要了或认为其他内容也该是重点内容可以适当修改加粗。

2025-09-10 15:38:44 361

原创 电路板问题维修

电子元件检测与维修方法总结 本文介绍了常见电子元件的检测方法和维修技巧。主要内容包括:1)万用表蜂鸣档读数简化方法;2)电阻、电容、电感、二极管、三极管、MOS管等元件的检测标准与好坏判断;3)电脑主板维修流程,重点说明ATX电源接口、PCIe接口和CPU供电的检测方法;4)IO芯片的功能识别。文中提供了详细的测量步骤和参数参考,特别强调在维修二手主板时需先进行对地阻值检测,避免直接上电损坏CPU。文章实用性较强,适合电子维修人员参考。

2025-09-10 15:38:08 758

原创 驱动外设总结2

TF卡主要分为四类:MicroSD(≤2GB)、SDHC(2-32GB)、SDXC(32GB-2TB)和SDUC(2-128TB)。速度等级通过不同标识表示:C2-C10表示最低写入速度2-10MB/s;U1/U3表示读取速度10/30MB/s;V6-V90专为视频录制设计,表示最低写入速度6-90MB/s。这些标准帮助用户根据需求选择合适的存储卡。

2025-09-10 15:37:21 156

python实现分页器功能 utils

python实现分页器功能 utils

2024-10-22

空空如也

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

TA关注的人

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