news 2026/10/13 11:49:29

基于小波变换与卡伦堡变换的输电线路行波测距Simulink仿真

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于小波变换与卡伦堡变换的输电线路行波测距Simulink仿真

故障测距这个方向,我前前后后做了近两个月的仿真,最深的感触是:理论公式看起来不难,一上Simulink全是细节。这次要分享的项目是基于小波分解与重构、卡伦堡变换的故障线路识别和行波测距研究,整套内容包括Simulink仿真模型、说明文档和参考文献梳理。行波测距的优势是精度高、几乎不受过渡电阻影响,但代价是波形里混杂着噪声、反射波和母线折射波,不用小波做奇异性检测,波头根本找不准。这篇文章会从原理讲到建模,再到具体仿真参数和避坑经验,适合正在做电力系统继电保护课题的在校研究生,也适合刚接触行波测距的现场工程师。

1. 项目概述与技术选型思路

1.1 传统故障测距方法的痛点

先聊聊为什么最终选了行波方案。早期我尝试过基于工频量的阻抗测距,原理上是利用故障后测量阻抗与距离的正比关系,但实际仿真一跑就发现问题:过渡电阻存在时,测量阻抗会明显偏移,尤其是高阻接地,误差能到百分之十几甚至更多。后来也看了微分方程法,它对采样同步和信号质量要求很高,模型稍复杂一点就很不稳定。

行波法走的是另一条路。它不依赖工频电压电流的稳态幅值,而是抓故障瞬间产生的电压、电流行波波头。这个波头以接近光速的速度沿线传播,遇到波阻抗不连续点会反射和折射。只要我们准确记录波头到达测量端的时间,就能用简单的运动学公式算出故障距离。它的优点是物理概念清晰、不受过渡电阻和系统阻抗影响,缺点是需要足够高的采样频率和可靠的波头识别方法。

这个项目最终锁定“小波分解与重构 + 卡伦堡变换 + Simulink仿真”的组合,原因也很直接:三相线路存在耦合,单看某一相电压波形不能代表真实的行波传播特性,所以先用卡伦堡变换把三相信号解耦成零模和线模;解耦之后,线模分量上行波波头比较干净,再利用小波变换的多尺度分析能力,在噪声背景下提取突变点位置。整个过程非常适合在Simulink里搭建分布参数线路模型验证。

1.2 为什么必须用小波分解与重构

行波信号本质上是非平稳的瞬态信号,持续时间很短,频谱范围很宽。傅里叶变换只能告诉你信号里有哪些频率成分,却给不出这些频率成分出现的时刻。波头恰好是一个时间位置极其关键的突变点,用傅里叶方法很难定位。

小波变换的优势在于时频局部化。它能在高频处获得较好的时间分辨率,在低频处获得较好的频率分辨率。对行波信号做多分辨率分解后,故障波头会表现为高频细节系数上的一个极大值或者极值对,这就是所谓的小波变换模极大值。实际做测距时,我们找到模极大值对应的采样点,就能把波头到达时刻精确到微秒级,再乘以波速就能换算成距离。

另外,小波重构还可以用来去噪。现场采集的行波信号里往往混有噪声,直接把原始信号拿去找波头,阈值很难定。通过分解-阈值处理-重构的流程,可以保留主要波头特征、抑制高频噪声,让后续定位更加稳定。这个项目里,我先用卡伦堡变换解耦,再对小波系数做去噪重构,最后再找模极大值,整套流程配合下来,识别成功率比直接看原始波形高很多。

1.3 卡伦堡变换在行波测距中的角色

先纠正一个容易混淆的地方:这个变换在文献里有时翻成卡伦堡,有时翻成凯伦鲍尔,其实对应的都是Karenbauer变换。它和对称分量法里的变换一样,是一种相模变换,用来把三相耦合的相量变换到模量空间。

三相输电线路各相之间不仅有电场耦合,还有磁场耦合。拿A相电压直接做行波分析时,B、C相耦合过来的分量会形成干扰,导致波头出现多个虚假峰值。卡伦堡变换通过一个固定矩阵把三相信号分解成零模、α模和β模。其中零模受大地回路参数影响大,速度慢、衰减快;α模、β模是线模,波速接近光速,比较稳定。测距时会优先选一个线模分量进行处理。

有人会问,为什么不用对称分量法?也能用,只是对称分量法里的变换矩阵是复数,适合稳态工频分析;行波是瞬态宽频信号,用实数矩阵的卡伦堡变换更直接,计算量也更小。矩阵系数只是对幅值做线性缩放,不会改变波头出现的位置,所以选哪个非奇异矩阵其实都能完成解耦任务,卡伦堡变换因为形式简单,在行波测距相关文献里出现频率很高。

2. 核心原理拆解:行波传播、卡伦堡变换与小波重构

2.1 故障行波的产生与传播特性

故障发生时,故障点相当于叠加了一个与该点故障前电压大小相等、方向相反的阶跃电压源。这个阶跃源会同时向线路两端发出行波,行波在传播过程中遇到波阻抗不连续点,比如母线、故障点、线缆接头,就会发生折射和反射。对单端测距来说,最关心的是故障点反射回测量端的那个波头;对双端测距来说,只需要两端分别记录第一个到达的波头。

线路中行波传播速度主要由线路分布电感和分布电容决定,架空线路的线模波速一般在 (2.9\times10^8 \sim 3.0\times10^8) m/s,非常接近光速,但又不等于光速。这个速度不能拍脑袋取一个固定值,最好根据线路参数计算,或者用仿真校准。

行波在传播过程中会有衰减和畸变,尤其在高频段,大地回路的影响会造成色散。零模分量的衰减和畸变比线模严重得多,这也是为什么测距要避开零模。实际波形里,初始波头后还会跟着故障点反射波、对端母线反射波、对端电源反射波等一大堆波头,如何区分它们,是整个项目的核心难点。

2.2 卡伦堡变换的矩阵形式与解耦原理

我使用的卡伦堡变换矩阵是:

[ S=\begin{bmatrix} 1 & 1 & 1\ 1 & -1 & 0\ 1 & 0 & -1 \end{bmatrix} ]

对应的相模变换关系为:

[ \begin{bmatrix} u_0\ u_\alpha\ u_\beta \end{bmatrix}

S^{-1} \begin{bmatrix} u_a\ u_b\ u_c \end{bmatrix} ]

其中,(u_0) 是零模分量,(u_\alpha) 和 (u_\beta) 是两个线模分量。仿真中我直接用Matlab的inv(S)计算逆矩阵,不需要手工化简。有一点可以放心:矩阵是否有归一化系数不影响波头到达时刻,最多只是改变模量信号的幅值,测距只看时间位置,所以不必纠结系数是1/3还是1。

对于单相接地故障,零模和线模都可能包含故障信息;对于相间故障,线模分量往往更明显。我在项目中统一取α模分量作为分析对象,原因是它的波速稳定且容易解释。如果遇到三相不平衡特别严重的情况,可以再结合β模分量交叉验证,避免把噪声当波头。

提示:相模变换处理的对象是三相信号,所以Simulink里导出的电压或电流必须是三相齐的。只用单相信号没法做卡伦堡变换,这是很多初学者容易忽略的细节。

2.3 小波分解、重构与模极大值定位

连续小波变换的定义是:

[ W_f(a,b)=\frac{1}{\sqrt{|a|}}\int_{-\infty}^{+\infty}f(t)\psi^*\left(\frac{t-b}{a}\right)dt ]

其中 (a) 是尺度因子,相当于频率的倒数;(b) 是平移因子,对应时间位置。当小波基函数与信号的局部突变部分形态相近时,小波系数会出现局部极大值。对行波波头这种阶跃或尖峰状信号,小波模极大值的位置就可以当作波头到达时刻。

工程上一般不用连续小波变换,而是用Mallat算法做离散小波变换。信号经过一层分解后,得到低频近似系数和高频细节系数;对近似系数再分解,就得到第二层。经过若干层分解,波头这种高频突变会集中在某些细节层上。实际代码里,我用的是wavedec做五层分解,小波基选db4,因为db4的时域波形和故障行波波头比较接近,且计算量适中。

小波重构在这里主要做两件事:一是去噪,把噪声所在的高频细节系数做阈值处理后重构,可以明显改善信噪比;二是增强波头,重构后的信号里,波头处的变化幅度与周围噪声的差异更大,找峰值阈值更好定。不过要留意,阈值太大会把真实波头一起滤掉,阈值太小去噪不干净,这个平衡需要通过试验波形反复调。

2.4 单端法与双端法测距算法

单端法测距的原理比较直观。假设故障发生在距离测量端 (d) 处,波速为 (v),初始故障行波到达测量端的时间为 (t_1),该行波继续传播到故障点后,反射回测量端的时间为 (t_2),那么:

[ d=\frac{v\cdot(t_2-t_1)}{2} ]

这个式子的物理意义是,波头走了两个 (d) 的距离,即从测量端到故障点,再从故障点回到测量端。单端法的优点是只需要一端的数据,缺点是需要正确识别第二个波头到底是故障点反射波,还是对端母线反射波。

双端法的公式是另一个思路。设线路全长为 (L),故障点距离M端为 (d),行波到达M端的时间为 (t_M),到达N端的时间为 (t_N),则有:

[ t_M-t_N=\frac{d-(L-d)}{v}=\frac{2d-L}{v} ]

整理后得到:

[ d=\frac{L+v\cdot(t_M-t_N)}{2} ]

双端法的可靠性高很多,因为只需要识别两端各自第一个到达的波头,不用区分后续反射波,但要求两端时间同步。项目里我同时实现了两种算法,Simulink模型里两个测量端都采集数据,这样既能验证单端的识别逻辑,又能用双端结果做对照。

3. Simulink仿真建模与核心环节实现

3.1 仿真模型总体结构与模块选型

Simulink模型我用的是Simscape Electrical模块库里的三相电源、分布式参数线路、三相故障模块、三相电压电流测量模块和并联RLC负载。整体拓扑是:M端交流电源→M端测量单元→线路段1→故障点→线路段2→N端测量单元→N端负载。

为了模拟故障点在线路中的位置,没有用一条完整的线路,而是把100 km线路拆成两段。故障模块放在两段线路之间,即线路段1为50 km,线路段2为50 km,故障发生位置就正好是50 km处。要改变故障距离时,只需要改两段线路的长度参数,比如30 km加70 km,然后脚本里同步更新故障位置变量。这种分段建模方式比在分布式参数线路上叠加故障模块要直观得多。

故障模块设置的是A相接地,故障时间设在0.02 s,也就是电源电压进入稳定状态一个周期后。故障电阻设为1 Ω,模拟金属性接地;后续做高阻接地对比时,再改成10 Ω和100 Ω。测量模块放在M端和N端,输出类型选电压,采样时间设为1e-6 s,配合算法的微秒级定位需求。

3.2 关键参数设置与波速计算

线路参数需要先给出模型里要填的值。分布式参数线路关心的主要参数有正序和零序的电阻、电感、电容。我用的典型架空线路参数如下:

参数正序零序
电阻0.012 Ω/km0.3 Ω/km
电感0.9 mH/km3.0 mH/km
电容0.012 μF/km0.008 μF/km

波速用线模参数计算,公式是:

[ v=\frac{1}{\sqrt{L_1 C_1}} ]

代入 (L_1=0.9\times10^{-3},\text{H/km}),(C_1=0.012\times10^{-6},\text{F/km}):

[ v=\frac{1}{\sqrt{0.9\times10^{-3}\times0.012\times10^{-6}}} \approx 3.04\times10^5,\text{km/s} ]

换算成更常用的单位就是 (0.304,\text{km}/\mu\text{s}),或者说 (3.04\times10^8,\text{m/s})。这个速度可以直接用于后面的测距计算。要注意,零模波速会比这个数值低不少,如果用了零模信号而波速还按线模算,测距结果一定偏大。

求解器我选的是ode23tb,最大步长限制为 (1\times10^{-6},\text{s}),仿真总时长0.05 s。行波波头上升沿很陡,步长太大会直接把波形拐角抹平,后面小波模极大值定位就会失真。仿真开始后,两个测量端的数据通过To Workspace模块导出为带时间戳的结构体,保存成mat文件供Matlab脚本处理。

3.3 Matlab数据处理脚本的实现

从Simulink导出的数据格式可能不太一样,我的脚本第一步统一转成矩阵形式。核心流程是先做卡伦堡变换,再去噪,最后找波头。脚本简化后如下:

% 加载导出的仿真数据 load simdata.mat; t = simdata.Time; uabc = simdata.Data; % N x 3 矩阵,三相电压 % 卡伦堡相模变换 S = [1 1 1; 1 -1 0; 1 0 -1]; um = S \ uabc'; % 3 x N 矩阵 alpha = um(2, :); % α模量 % 五层 db4 小波分解 [C, L] = wavedec(alpha, 5, 'db4'); % 自适应阈值去噪后重构 sigma = median(abs(C)) / 0.6745; thr = sigma * sqrt(2 * log(length(alpha))); alphaDen = wthresh(alpha, 's', thr); % 对去噪信号做差分,突出突变点 dAlpha = diff(alphaDen); [pks, loc] = findpeaks(abs(dAlpha), ... 'MinPeakHeight', 0.05 * max(abs(dAlpha))); % 波头时刻(loc是采样点序号,需要乘采样间隔) tPeaks = t(loc);

这段脚本里,wthresh用软阈值处理,阈值按小波系数的标准差估计。实际项目里阈值参数我会先跑一组无噪声仿真,再把阈值调到既能保留首波头又能去掉杂波。findpeaks返回的峰值点里,第一个大峰值对应初始行波,第二个大峰值的情况则需要结合单端或双端算法进一步判断。如果波形里出现多个接近的峰值,我还会额外加一个最小峰值间距限制,避免把同一个波头的毛刺当成多个波头。

3.4 完整测距计算示例

假设线路全长 (L=100,\text{km}),故障设置在50 km处,波速 (v=0.304,\text{km}/\mu\text{s})。故障发生在0.02 s,M端初始行波波头到达时间大约为:

[ t_1=0.02+\frac{50}{0.304\times10^3}\approx0.020164,\text{s} ]

也就是故障后约164 μs。单端法需要找到故障点反射回M端的第二个波头,这个波头在故障点反射后还要再走50 km,所以相对初始波头延迟的时间为:

[ \Delta t=\frac{2\times50}{0.304\times10^3}\approx329,\mu\text{s} ]

对应到达时刻约为0.020493 s。脚本自动识别到这两个波头后,计算:

[ d=\frac{0.304\times329}{2}\approx50.0,\text{km} ]

双端法更简单,故障在50 km处时,两端到故障点距离一样,波头到达时间差 (t_M-t_N) 接近0,代入公式:

[ d=\frac{100+0.304\times0}{2}=50,\text{km} ]

如果故障距离变成60 km,M端和N端时间差大约是65.8 μs,除以2乘波速得到20 km,再加上线路全长的一半50 km,就是60 km。仿真结果和理论值能对得上,误差主要来自采样步长和波速精度。

4. 仿真结果分析:故障类型与测距误差

4.1 典型故障场景的波形与波头识别结果

先看一个最经典的场景:50 km处A相接地,过渡电阻1 Ω。M端测到的A相电压在故障时刻会出现一个向下的台阶,但别的相因为耦合也有微小变化,直接在A相信号里找波头,峰值位置会受到B、C相耦合干扰。把三相电压做卡伦堡变换后,取α模分量,波形明显比单相信号干净。

小波分解后,波头在d1和d2层细节系数上表现为一个正负交替的极值对,位置非常尖锐。用阈值法找到的第一个模极大值点,对应初始行波;第二个明显极值点,对应故障点反射波。单端法计算出来的距离稳定在49.7到50.3 km之间,双端法误差更小,基本在0.1 km以内。

这个场景也验证了取线模的优势。零模分量由于衰减严重,到达测量端时幅值已经很小,而且在波头位置会出现很长的拖尾,难以准确判断峰值。α模分量更接近理想的行波阶跃,早期波头清晰,适合测距算法。

4.2 不同故障类型与故障距离下的误差对比

为了验证算法不是只在单一场景下有效,我做了几组仿真。故障类型包括单相接地、两相相间短路和三相短路,故障距离取30 km、50 km和80 km。结果如下:

故障类型实际距离(km)单端法结果(km)双端法结果(km)单端误差(km)双端误差(km)
A相接地3029.430.10.60.1
A相接地5049.750.00.30.0
A相接地8079.179.90.90.1
AB相间短路5050.250.00.20.0
ABC三相短路5049.550.10.50.1

可以看到,双端法在不同场景下都有很高的稳定度,误差基本由离散采样间隔决定;单端法误差稍大,尤其是故障距离较远时,反射波衰减和畸变更明显,波头识别容易发生几个采样点的偏移。高阻接地场景下,比如过渡电阻100 Ω,单端法偶尔会丢掉反射波头,此时双端法依旧能可靠工作,因为只需要第一个波头。

4.3 小波重构去噪对定位结果的影响

为了模拟现场环境,我往仿真波形里叠加了高斯白噪声,信噪比约20 dB。直接用原始信号找波头时,findpeaks会识别出大量噪声尖峰,波头位置很难自动判断。做小波重构去噪之后,噪声被明显压制,波头处依然保持突出的模极大值。

我对比了同一组数据去噪前后的定位结果。未去噪时,单端法计算的距离跳动范围能达到5 km以上,而且多次运行结果不一致;去噪后,同样的参数下,测距结果基本收敛在真实距离附近。这说明小波重构在本项目里的作用不仅仅是改善波形观感,而是直接影响自动测距的稳定性。

需要提醒的是,去噪阈值不能设得太狠。如果阈值过高,波头部分也会被平滑掉,结果可能只找到一个波头,单端法直接失效。我的做法是先跑一次无噪声模型确定波头幅值的数量级,再把阈值设在幅值的10%到20%区间,然后微调至波形图中波头清晰可见。

5. 常见问题与排查技巧实录

5.1 采样率不够导致波头定位误差

行波波头到达时刻的定位精度,理论上取决于采样间隔。采样率1 MHz时,时间分辨率为1 μs,对应距离分辨率约为0.15 km。如果采样率降到100 kHz,单是时间量化误差就可能造成1.5 km左右的距离偏差,这在实际工程中是不能接受的。

我在仿真中遇到过一种情况:最大步长设成10 μs后,波形虽然看起来正常,但小波变换后的波头位置会随机偏一两个采样点,测距结果忽大忽小。把最大步长改到1 μs后,结果立刻稳定下来。需要权衡的是仿真时间,1 μs步长跑0.05 s仿真大概要多花不少时间,所以先建模时可以用10 μs粗调参数,最后确认结果再改成1 μs跑精细数据。

5.2 波速选取不当导致系统性偏差

很多初学者直接取 (3\times10^8,\text{m/s}) 当作波速,但实际线模波速通常低于光速。如果参数是上面的架空线路,波速应当是 (3.04\times10^8,\text{m/s})。波速差3%到5%,测距误差也会按比例放大,比如50 km故障可能偏差1.5到2.5 km。

更稳妥的做法是从线路的分布参数计算波速,或者在前端已知故障距离的情况下反推等效波速,用这个等效值作为后续测距参数。由于线路参数随频率变化,行波中不同频率分量的速度不完全一致,所以仿真模型里算出来的波速只是一个等效值。我在文档里会写明波速计算的输入参数和公式,方便别人复现。

5.3 单端法反射波识别困难怎么办

单端法最常见的失败模式是把第二个波头搞错。比如线路较短时,故障点反射波和对端母线反射波到达时间可能比较接近,阈值一放宽就容易找错。

我一般用以下几个手段提升识别准确率。一是在找波头时同时看多个小波分解层,如果某个候选波头在连续多层细节系数里都出现对应的极值点,可信度更高。二是利用极性判断,故障点反射波与初始波头的极性相同,对端母线折射波在某些条件下极性不同,可以辅助区分。三是实在分不清时,直接放弃单端结果,改用双端数据。

5.4 小波基与分解层数的选择经验

小波基选择会影响波头定位。db2对突变敏感但噪声也敏感,db4和db5相对均衡,sym4和sym8的对称性更好,边界效应更小。项目里我对比过,db4在行波波头识别上表现稳定,适合作为默认选择。

分解层数也很关键。层数太少,去噪不充分;层数太多,滤波后的波形会产生额外的振荡,波头位置可能被拉偏。1 MHz采样率下,五层分解基本能覆盖行波主能量频段。如果采样率提高到10 MHz,可以适当增加分解层数到七层,让波头特征更集中。

5.5 Simulink运行慢或不收敛的排查

分布参数线路模型本身刚性比较强,加上1e-6秒的步长,仿真速度会明显变慢。如果出现仿真不收敛,先把故障电阻改成大一些的数值,比如10 Ω,看是否是数值突变太剧烈导致的。再把求解器的误差容限适当放宽。

还有一种情况是线路参数填错单位,导致模型异常振荡。比如电感填成H/m而不是mH/km,模量计算出来的波速会差好几个数量级,测距结果自然离谱。遇到异常结果时,先回到波速计算这一步,把线路参数代入手工算一遍,往往能快速定位问题。

下面把常见问题整理成速查表:

现象可能原因解决办法
波头峰值过多噪声过大或相间耦合做卡伦堡变换后再小波去噪
单端法找不到第二个波头反射波衰减严重或阈值过高降低阈值,结合多层小波系数判断
测距结果整体偏大波速取值偏大用线模参数重算波速
测距结果跳动不定采样步长过大缩小最大步长到1 μs
小波重构后波头变钝分解层数过多或阈值过大减少层数,调小阈值
仿真波形出现高频振荡线路参数单位错误对照参数表逐项检查

6. 说明文档组织与参考文献梳理

6.1 说明文档怎么写才能让项目可复现

做了仿真但文档一塌糊涂的项目,过两个月自己都看不懂。这个项目的说明文档我按下面结构组织:

  • 摘要与关键词
  • 研究背景与技术选型
  • 行波测距与小波变换原理
  • Simulink模型结构说明
  • 仿真参数与脚本代码
  • 结果分析与误差讨论
  • 结论与改进方向
  • 附录:文件清单与运行方法

文档里最重要的部分不是原理抄书,而是把仿真模型里的关键参数、故障位置切换方法、脚本运行顺序说清楚。我会在文档开头加一个“复现步骤”区块,写清楚先打开哪个模型文件、运行哪个初始化脚本、再运行哪个数据处理脚本。这样即便过半年再拿出来,也能按图索骥跑通全套流程。

6.2 参考文献的收集与整理技巧

行波测距和小波变换的文献数量很多,盲目下载没有意义。先检索以“行波测距”“小波变换”“奇异性检测”“相模变换”为核心词的期刊论文和学位论文,再挑近五年的综述类文章精读。读综述的作用是快速了解算法分支和研究边界,然后再根据综述里的引用链回溯经典方法,效率高很多。

整理文献时,我会用一个目录保存PDF,再用表格记录每篇文献解决什么问题、用什么方法、有哪些局限性。这个表格最终会附在说明文档后面,方便写论文时直接引用。建议重点关注的期刊方向包括电力系统自动化、电网技术、电力系统保护与控制等,但我不直接推荐具体论文题目,大家按关键词搜索即可。

提示:参考文献里如果涉及某篇具体论文,注意记录作者、年份、期刊和页码。写说明文档时可以先把引用条目放在文末,正文用序号标注,避免最后整理时手忙脚乱。

6.3 代码、模型与数据的归档规范

项目文件不要都堆在一个目录里。我通常这样划分:

project/ ├── models/ │ ├── init_params.m │ └── fault_location.slx ├── scripts/ │ ├── extract_traveling_wave.m │ └── calculate_distance.m ├── data/ │ └── simdata.mat ├── docs/ │ └── report.md └── README.md

初始化参数单独放在init_params.m里,Simulink模型通过变量引用这些参数。这样要修改故障距离或线路长度,只需改一行参数再运行初始化脚本,不用打开模型界面点点点。数据处理脚本和数据文件分开存放,保证每次仿真生成的新数据不会覆盖旧结果。

文档里还可以放一张运行流程图,说明参数初始化、仿真、数据导出、小波处理、测距计算的先后顺序,但要注意用文字描述就好。我在实际项目里发现,这个流程写清楚之后,别人接手或者自己回顾都能快速定位到出问题的地方。

最后聊一点个人经验:做这类仿真研究,不要一开始追求高精确度,先把完整的“故障-测量-变换-分析-测距”链路跑通,再用控制变量方法逐项优化波速、采样率和阈值。我在项目里最花时间的并不是小波算法本身,而是反复调整仿真步长和波头识别参数。每调一次参数,记录对应的测距结果,慢慢会形成一张参数-误差对照表,这对理解整个系统非常有用。这个项目的成果至今仍然是我后续做线路保护相关研究时最常参考的基准。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 11:49:11

Python字典及字典基本操作方法详解

前言 字典(dict)提供了一批内置方法,名字都短,但行为差别不小:get 和 setdefault 都能「给个默认值」,可一个只读不写、一个会写回去;pop 和 popitem 都删东西,但一个删你指定的键、…

作者头像 李华
网站建设 2026/10/13 11:47:52

人工智能日报:五条工程信号与长上下文评测、端侧成本实操

做AI日报这段时间,我发现一件很有意思的事:越到2026年,行业里每天能拿出来说的“大新闻”反而越难写了。不是说AI没进展,而是大多数进展的形状太相似——模型更大、上下文更长、评测分数更高,但让一线工程师真正手痒的…

作者头像 李华
网站建设 2026/10/13 11:46:47

三合一效率神器:剪贴板历史+全局搜索+快速笔记实测

最近我在某个代码托管平台上的工具合集里翻到一个效率神器,用下来真的只想说一句话:太流批了,神仙工具,值得收藏。具体名字我就不念了,公开页面生成一长串英文字母,我叫它“小拾”。它的核心工作是把三件每…

作者头像 李华
网站建设 2026/10/13 11:46:10

递归下降分析实战:从文法改造到语法树构建与表达式求值

简介:这份编译原理实验资料面向计算机专业学生及编译器初学者,聚焦自上而下语法分析中的递归下降分析法,帮助读者掌握从文法改造到程序实现的完整流程。资源包内含1个doc文档,约80KB,以实验报告形式呈现,涵…

作者头像 李华
网站建设 2026/10/13 11:45:56

一文搞懂RAM/ROM/SRAM/DRAM/SDRAM/NOR/NAND选型

上周帮朋友排查一块板子,现象很奇怪:程序烧进去能跑,但只要一断电,之前配好的参数全变回出厂值。查了半天,发现是有人把配置数据放在了RAM里。这让我想起这些年带硬件团队、做方案评审时经常被问的一个问题&#xff1a…

作者头像 李华