可再生能源发电与电动汽车协同调度:从论文公式到可运行代码的复现手记
可再生能源发电与电动汽车协同调度从论文公式到Matlab可运行代码的完整复现手记搞过论文复现的朋友都知道最难的不是看懂公式而是把纸上的一堆集合、上下标、约束条件变成能跑出结果的代码。尤其是电力系统优化调度这种方向模型往往一个比一个复杂数据一堆求解器一调就是大半天跑出来的结果还要跟论文原文对得上。我花了两周时间完整复现了一篇硕士论文里的“可再生能源发电与电动汽车协同调度策略”用的就是Matlab。今天把这套思路和踩过的坑完整记录下来项目涉及风电、光伏、电动汽车集群充放电、微电网经济调度核心是让可再生能源出力和电动汽车充电负荷在时间上“打配合”实现削峰填谷和运行成本最小化。这个方向属于典型的能源互联网交叉课题适合电力系统、新能源、智能网联汽车方向的硕博生也适合做微电网优化调度、V2G策略、需求响应的同行参考。如果你手里也有类似题目但对怎么把论文中的数学模型转成可复现的代码感到头疼这篇文章应该能帮你省下不少时间。先说结论论文复现最核心的能力不是写代码而是把论文里的“隐语”翻译成程序逻辑这一步做对了后面跑通只是时间问题。1. 问题拆解搞清楚协同调度到底“协同”了什么1.1 协同调度的本质让发电侧和用电侧双向互动传统电力调度是“源随荷动”也就是发电跟着用电走。但可再生能源风电、光伏有个天然毛病——出力不可控太阳不出来、风不吹发电就不稳定。这时候如果还死板地让电网去平衡要么弃风弃光浪费资源要么就得调用昂贵的备用火电机组。电动汽车不一样它既是负荷又是“移动储能”在停着不用的时候电池里存着电完全可以响应系统需求调整充电时段甚至在电价高的时候反向送电V2G。所以这篇论文要解决的协同问题可以概括成一句话在满足用户充电需求的前提下通过灵活调整电动汽车的充放电时段和功率去平抑可再生能源出力的波动最大化消纳清洁能源同时降低系统总运行成本。这里面的核心矛盾是“发电的时间特性”和“用电的时间特性”不匹配而电动汽车恰好是这两者之间的调节器。1.2 系统场景设定单微网还是多微网论文标题里没有明说但从常见研究范式和参数设定来看基本都建立在单微电网或区域配电网的框架下。我做复现时的基础场景设定如下系统内包含风电机组、光伏阵列、常规负荷、电动汽车集群、储能装置可选、以及上级电网交互。调度周期通常取24小时时间步长取1小时部分精细化研究会取15分钟步长。电动汽车用户提前上报出行计划到达时间、离开时间、期望电量调度中心据此生成各时段充放电计划。我建议你在复现任何同类论文时第一步做的事情不是写代码而是把论文里的系统拓扑图转换成一张表格把“谁和谁相连、谁在哪个节点、能量往哪流”列清楚。这个动作能帮你避免后面建模时漏掉约束条件。1.3 从论文到代码的思路转换论文里通常会写“建立以系统总运行成本最小为目标函数的优化调度模型”但落到代码里你需要先回答三个问题决策变量是什么各时段电动汽车充放电功率、储能充放电功率、与上级电网交互功率目标函数怎么表达所有成本项的线性组合通常包括购电费用、弃风弃光惩罚、电池损耗折算等约束条件有哪些功率平衡、充放电功率上下限、电池SOC范围、用户充电需求等如果这三个问题答不清楚代码写多少删多少都是正常的。我复现时把这三条写成注释放在代码文件头部后面每一步修改都对照着来基本没有再乱过。2. 数学模型把目标函数和约束条件逐条翻译成程序语言2.1 目标函数不止是成本最小那么简单论文里最常见的目标函数形式是[ \min \sum_{t1}^{T} \left[ c_{grid,t}P_{grid,t} c_{EV}P_{EV,t} \lambda_{curtail}(P_{curtail,t}) \right] ]其中第一项是向电网购电的成本第二项是电动汽车充放电的运行成本第三项是弃风弃光的惩罚费用。在Matlab里实现时我的做法是把目标函数写成带有决策变量的线性表达式然后用linprog或YALMIP直接求解。如果你用的是YALMIP目标函数可以写得很接近数学公式objective sum(repmat(c_grid, T, 1) .* P_grid) ... sum(repmat(c_ev, T, 1) .* P_ev) ... sum(lambda_curtail .* P_curtail);注意很多论文把电动汽车的电池损耗成本也放进目标函数通常用一个成本系数乘以充放电功率的绝对值来表示。但绝对值在优化问题里是非线性的处理起来要格外小心后面我会详细讲怎么处理。我个人在复现时建议优先采用线性目标函数因为线性规划的求解速度快、全局收敛性有保证这对跑通整条链路来说非常重要。如果你想复现的论文用了非线性目标函数也要先尝试把它线性化实在不行再考虑调用遗传算法或粒子群这类启发式算法。2.2 可再生能源出力建模不要拿到数据就塞进代码风电和光伏的出力曲线多数论文会直接给出一组典型日数据也有不少论文用威布尔分布或Beta分布来模拟随机出力。这里我踩过一个坑拿到论文里的风光出力曲线后我直接就把数据当成确定值代入模型结果跑了半天系统一直报功率不平衡的警告。原因后来查明了。原来论文里给出的是“预测出力”曲线而实际建模时需要考虑预测误差通常的做法是在预测值上叠加一个正态分布随机扰动。正确的复现思路是基线场景用预测出力数据论文表格或图里读出来的数值。不确定性场景用蒙特卡洛抽样生成多条出力场景再对所有场景求期望成本。如果论文侧重确定性调度那就不加扰动保持与原文一致。你复现时一定要先搞清楚论文用的是确定性方法还是随机优化方法否则后续对结果会怀疑人生。2.3 电动汽车集群建模最难但最核心的一块电动汽车协同调度的难点在于电动汽车数量很多、行为各异。如果把每辆车都作为独立个体建模变量数量大得惊人求解速度会直线下降。论文里普遍采用的做法是“集群等效”或者“蒙特卡洛抽样聚类”把大量车辆按到达时间、离开时间、初始SOC等特征聚成几个代表性群体。我复现时用了5类电动车群每类的关键参数如下电动车群编号车辆数到达时段离开时段初始SOC区间目标SOC类型1工作日通勤20008:00-09:0017:00-18:000.3-0.50.9类型2晚间充电为主30018:00-20:0007:00-08:000.2-0.40.95类型3随机到达150全天随机随机0.3-0.60.8类型4日间快充10010:00-14:0014:00-16:000.1-0.30.85类型5长停车辆25007:00-08:0022:00-23:000.4-0.51.0每一类电动车群建立如下约束各时段充放电功率必须在充电设施允许的范围内。电池SOC必须保持在上下限之间比如0.2到1.0。调度结束时SOC必须达到用户期望值目标SOC。同一辆车不能同时充放电这个约束在处理集群等效模型时需要额外小心通常通过限制充电功率和放电功率不同时为正来实现。在Matlab里SOC更新方程可以这样表达SOC(:, t1) SOC(:, t) eta_ch * P_ch(:, t) / Cap - P_dis(:, t) / (eta_dis * Cap);其中eta_ch是充电效率eta_dis是放电效率Cap是电池容量。2.4 约束条件功率平衡是最不能出错的一条功率平衡约束是所有电力系统优化模型的灵魂形式很简单[ P_{grid,t} P_{wind,t} P_{pv,t} P_{dis,t} P_{load,t} P_{ch,t} P_{curtail,t} ]翻译成代码就是每一时刻所有功率的代数和不等于零就会崩。我在复现初期最常犯的错误是忽略了变量取值范围的问题——功率平衡等式一直满足但充放电功率把设备上限顶破了这就不是模型逻辑错了而是少写了边界约束。所以写约束时一定要把以下几条全部配齐每个时段与上级电网交互功率的上限充电桩的充放电功率上限电池SOC上下限约束这个几乎每个模型都要写弃风弃光量的非负约束和上限约束电动汽车用户充电完成度约束。用YALMIP表达约束集合时推荐所有约束统一放进一个cell数组Constraints []; Constraints [Constraints, P_grid_min P_grid P_grid_max]; Constraints [Constraints, 0 P_ch P_ch_max]; Constraints [Constraints, 0 P_dis P_dis_max]; Constraints [Constraints, P_ch .* P_dis 0]; Constraints [Constraints, SOC_min SOC SOC_max]; Constraints [Constraints, SOC(:, end) SOC_target];注意第三行的互斥约束充放电不同时进行在非凸问题里会让求解器崩溃。线性化方法是用一个二进制变量乘上各自的最大值比如P_ch binary * P_ch_maxP_dis (1-binary) * P_dis_max。这样问题变成了混合整数线性规划MILPYALMIP会调用intlinprog求解速度也很快。3. 实操过程Matlab代码的完整实现路线3.1 工具选型为什么我推荐YALMIP而不是纯手写linprog直接调linprog写标准形式会让人崩溃因为电力系统优化模型动辄几十上百个变量和约束每一个约束都要手动拼成矩阵A、b、Aeq、beq错一个下标就全线崩盘。YALMIP的优势在于它能把数学表达式的逻辑直接映射成代码你不需要手动拼矩阵只要把约束和目标函数写清楚它会自动帮你整理成求解器需要的标准形式。如果你不想装YALMIP用Matlab自带的Optimization Toolbox也可以但代码可读性会差很多不利于后期改参数、加约束。我强烈建议你装YALMIP并搭配至少一个商用求解器比如Gurobi或有学术许可的CPLEX实在没有就用Matlab自带的intlinprog也能处理中小规模问题。3.2 数据准备论文里的数据要自己会“造”说到数据这是论文复现里最让人头疼的地方。很多论文不会把所有原始数据都写清楚特别是电动汽车的参数、充电桩功率、分时电价表你得从图表中去反推实在反推不出来就只能按常理自己设定。我复现时把参数分成两类硬性参数论文明确给出的风光出力曲线、负荷曲线、分时电价、购电上限。软性参数论文没写全、但必须合理的电动汽车数量、电池容量、充放电效率、SOC上下限、目标SOC。软性参数的处理原则是尽量贴近常见工程经验值比如电池容量取40kWh充电效率取0.95放电效率取0.9充电桩最大功率取7kWV2G放电功率取3.5kW。数据准备好了下一步是把它封装成结构体方便代码各模块共用。% 基础参数 para.T 24; % 调度时段数 para.dt 1; % 时间步长小时 para.Cap 40; % 电池容量kWh para.eta_ch 0.95; % 充电效率 para.eta_dis 0.9; % 放电效率 para.P_ch_max 7; % 最大充电功率 para.P_dis_max 3.5; % 最大放电功率 para.SOC_min 0.2; para.SOC_max 1.0;分时电价我采用峰谷平三段式设定因为在大多数论文里这既能体现削峰填谷的优化空间又不会因为过渡段太多让结果难以解读。峰时段10:00-15:00和18:00-21:00平时段07:00-10:00、15:00-18:00、21:00-23:00谷时段23:00-07:00。这个设置直接决定了电动汽车会不会在谷时段集中充电也决定了V2G反向送电是否有经济性。3.3 优化模型求解从写代码到出结果的全流程我把求解流程拆成了5个步骤这里每个步骤都已经跑通验证过你可以直接参考第一步定义决策变量。用YALMIP定义矩阵变量行是时段列是电动车群。充电功率、放电功率、与电网交互功率、弃风弃光功率都定义成sdpvar。第二步写目标函数。目标函数里的所有成本项都按论文公式对应。注意分时电价是一个T维列向量充电功率是T×N矩阵做矩阵乘法前先用repmat把电价向量复制成N列再逐个对应。第三步写约束条件。把前面2.4节里提到的所有约束一项不漏地写上。尤其注意SOC递推方程是等式约束必须有初始SOC作为起点。第四步调用求解器。用optimize(Constraints, objective, options)一行命令求解。设置求解器为intlinprog或指定用Gurobi。求解完成后检查输出的problem标志是否为0非零说明求解失败或结果不可信。第五步结果后处理。把优化出来的变量导出画成功率平衡图、电动汽车充放电计划图、SOC变化曲线图。% 在这里给出一个完整可运行的极小示例不含数据加载部分 ops sdpsettings(solver, intlinprog, verbose, 1); result optimize(Constraints, objective, ops); if result.problem 0 P_grid_opt value(P_grid); P_ch_opt value(P_ch); P_dis_opt value(P_dis); SOC_opt value(SOC); disp(求解成功); else disp([求解失败错误代码, num2str(result.problem)]); end3.4 结果可视化图要画到能直接放进论文里的水准论文复现最后一步是画图。别小看这一步图的漂亮程度直接决定了你复现成果的说服力。我用Matlab绘图时坚持三条原则功率平衡图用堆叠面积图能清楚看出每个时段各类电源的出力构成和负荷曲线之间的gap是怎么被填上的。电动汽车充放电计划用柱状图正负分开可以看出充电和放电窗口。SOC曲线用折线图多类电动车群用不同颜色同一张图里既比大小又看趋势。绘图代码里我经常用area、bar、plot三个函数轮番上阵。一张高质量的配图配上对比实验表格协同调度前 vs 协同调度后基本就是完整的复现结果。记得出图时用exportgraphics导出为PDF或EPS格式分辨率高投稿和写报告都拿得出手。4. 常见问题排查我在复现过程中踩过的七个坑4.1 求解器报错“Infeasible problem”怎么办这是最让人崩溃的错误你把模型撸了半天结果告诉你没有可行解。我排查这个问题的顺序是检查功率平衡约束等式两端单位是否一致常见错误是把kW和kWh混用了。检查SOC递推方程是否满足能量守恒充电量减去放电量再折算损耗后是否能满足最终SOC要求。检查电动汽车的到达时间和离开时间窗口是否合理比如一辆车早上8点到达、下午5点离开结果你让它在凌晨3点充电那必不可能。先用一个缩小版本的模型比如把电动车群从5类缩减成1类把T从24缩减成12测试逐步扩大锁定是哪个约束造成不可行。在论文复现类项目里“不可行”大概率不是求解器的问题而是模型本身有矛盾。我见过很多人反复调求解器参数其实根本方向就错了。4.2 结果不合理优化完成本反而更高有一种情况仿真也能跑通但结果明显不合理比如优化后的购电费用比不优化还高。这时先看是不是目标函数里的符号写错了或者分时电价与功率方向对应错了。比如目标函数里写cost grid_price * P_grid但P_grid的正负方向约定如果和功率平衡约束里的方向不一致就会出现“该系统向电网售电反而算作购电成本”的乌龙。我在代码注释里对每个变量的正负方向都做了明确标注比如P_grid0表示从电网购电P_grid0表示向电网售电。这个约定必须贯穿所有公式和代码。4.3 YALMIP安装和求解器连接问题YALMIP的安装本身很简单只要把目录添加进Matlab路径就行。但求解器连接经常出幺蛾子尤其是Gurobi这种商用求解器。你需要在YALMIP的官方文档里找到对应的求解器版本兼容表严格按表来选求解器版本。我一开始Gurobi装了最新版结果YALMIP识别不了折腾了一天才发现版本不兼容。建议没拿到学术许可证的话就用Matlab自带的intlinprog对小规模案例完全够用。4.4 计算时间爆炸优化模型跑一小时不出结果如果模型规模不大求解时间却很长多半是把问题写成了非线性。MILP求解速度非常快通常几秒到几十秒。一旦出现非线性约束或者非凸项求解时间会指数级增长。检查下目标函数或约束里是否有绝对值、乘积项、分段函数有的话全部转换为线性表达。绝对值可以通过引入辅助变量和一组不等式来处理乘积项如果发生在连续变量和二进制变量之间也可以线性化。永远记住能写成MILP就不要写成分NLP。4.5 论文结果对比不上差一点就是差很多复现完成后拿你的结果和论文里的图对比发现曲线形状差不多但具体数值对不上。这种情况我经历了很多次最后总结出三条可能原因数据颗粒度不同论文可能是15分钟一个点你按1小时跑结果自然不同。边界条件设定不同比如论文可能假设电动汽车必须100%满足出行需求你设的是95%。目标函数中某个成本系数取了不同数量级比如电池损耗成本系数论文里可能没有明确给出。遇到这种情况不要强行把参数凑到和论文一模一样重点在于验证论文方法在你重建的模型上能不能产生预期的调度效果。只要效应趋势一致比如协同调度显著降低了负荷峰谷差、提高了风电利用率复现就算成功了。4.6 多场景蒙特卡洛计算太慢先跑单场景还是先跑多场景如果你复现的论文里有不确定性分析大概率会涉及蒙特卡洛模拟。最开始不要直接跑上千个场景先用一个场景验证确定性模型没问题再写循环叠加多场景。每个场景独立求解然后把目标值平均这个过程用Matlab的parfor并行循环能大幅节约时间我实测下来4核并行能缩短约50%的耗时。跑之前记得先delete(gcp(nocreate))清理已有并行池避免内存爆掉。4.7 代码报错却不知道错在哪行调试技巧Matlab调试设置成出错时进入调试模式是个好习惯但更重要的是你会不会看YALMIP变量类型的报错。YALMIP里sdpvar变量和数值矩阵做比较时会遇到“无法将sdpvar转换为逻辑值”的报错。这种情况往往出在你试图用if语句判断约束条件成立与否时。记住约束条件用等式和不等式直接加进Constraints集合不要先判断再写入。调试时多用size()检查变量维度我最常犯的错误就是repmat时维度对不上矩阵乘法报维度错误。给每个变量起名时带上维度注释比如P_ch_5types_24h一眼就知道是24×5的矩阵后续排查维度问题快得多。5. 扩展方向与个人几点体会5.1 从确定性调度走向鲁棒优化复现完确定性协同调度如果你想自己往前走一步推荐把模型从确定性改成鲁棒优化。做法很简单把风光出力的预测值替换成一个不确定区间目标函数变成最坏场景下的成本最小化。你的变量定义和约束框架基本不动只需要新增不确定变量集和鲁棒对等约束。Matlab里YALMIP对鲁棒优化有内建支持定义不确定变量后直接写uncertain命令求解器会自动处理。这一步的好处是模型更贴近工程实际而且答辩或写论文时讲“我不仅复现了基础模型还做了鲁棒性扩展”加分效果相当明显。5.2 把电动汽车当成“移动储能”参与调频辅助服务论文里的协同调度主要还是经济调度层面但实际工程中新能源占比升高后电网最缺的是调频能力。电动汽车响应速度快、分布式分布广是非常理想的调频资源。你可以尝试把本文的调度模型扩展成“日前经济调度日内实时调整”的两阶段结构日前决定充放电计划日内根据频率偏差信号做毫秒级响应。这个方向上Matlab里的Simulink可以做但计算量上台阶了适合做毕业设计的第二阶段。5.3 关于复现工作本身几点个人体会论文复现这件事说难很难说简单也简单关键看你愿不愿意沉下心去把每一个公式翻译成代码。我复现这篇论文最大的收获不是跑通一个模型而是培养了一种“模型-算法-代码”的三层映射直觉。以后再拿到任何优化类论文我会本能地先在脑内拆解决策变量、目标函数和约束条件而不是上来就google代码。这种能力只能靠一次次调试和排查慢慢攒出来。另一个体会是数据不规范、参数不全才是论文复现真正的坑绝大多数时间花在数据整理和参数合理性验证上纯写代码的时间反而不长。所以如果准备做一个论文复现先花半天时间把数据的单位、范围、含义全部确认清楚再动手写模型。这个习惯能帮你避免大量无意义的重构。最后说一句Matlab的生态对于这种中规模优化问题仍然是非常合适的。YALMIP加Gurobi的组合配合Matlab强大的绘图和后处理能力一套完整流程下来从零到出结果我用了一周左右期间还包含各种摸鱼和排查问题的时间。如果你也在做同类型题目可以先按本文的框架把模型搭起来然后再根据你自己的论文需求去调整场景细节。跑通的那一刻你会觉得之前所有卡壳都是值得的。

相关新闻

PCA9422+PIC18F87K22实现嵌入式全链路电源闭环管理

PCA9422+PIC18F87K22实现嵌入式全链路电源闭环管理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 19:06:48 阅读更多 →
PCA9422与STM32L073RZ低功耗电源管理实战指南

PCA9422与STM32L073RZ低功耗电源管理实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 19:06:48 阅读更多 →
Axure多角色登录原型实战:从全局变量到权限控制

Axure多角色登录原型实战:从全局变量到权限控制

刚开始接触Axure原型设计的时候,遇到“多角色登录”这种需求,我第一反应也是有点懵:不就是登录页加个下拉框,选完角色跳转到对应页面吗?等真正做完一轮再回头看,才发现这里面的坑远比想象的多。角色判断、权…

2026/10/10 19:05:48 阅读更多 →

最新新闻

单点工具还是全家桶:supervision 与 SAHI、ByteTrack、OpenCV 的边界之争

单点工具还是全家桶:supervision 与 SAHI、ByteTrack、OpenCV 的边界之争

单点工具还是全家桶:supervision 与 SAHI、ByteTrack、OpenCV 的边界之争 【免费下载链接】supervision We write your reusable computer vision tools. 💜 项目地址: https://gitcode.com/GitHub_Trending/su/supervision 计算机视觉开发者长期…

2026/10/10 19:50:17 阅读更多 →
考虑柔性负荷的综合能源系统低碳经济调度方法

考虑柔性负荷的综合能源系统低碳经济调度方法

考虑柔性负荷的综合能源系统低碳经济调度探索做综合能源系统调度的人,多少都有过这种体会:光伏、风电一上来,源侧的不确定性还能靠预测和备用扛一扛,真正让人头疼的其实是荷侧——负荷曲线硬邦邦地摆在那儿,燃气轮机跟…

2026/10/10 19:50:17 阅读更多 →
CNN人脸识别从原理到实战:特征向量提取与训练避坑指南

CNN人脸识别从原理到实战:特征向量提取与训练避坑指南

简介:提供一套基于CNN卷积神经网络的人脸识别完整实现代码,源自深度学习教程中的经典示例,适合正在学习计算机视觉与深度学习的开发者、研究人员及高校学生。资源采用Python编写,包含训练与使用两个核心脚本,可直接运行…

2026/10/10 19:50:17 阅读更多 →
线程同步进阶:条件变量、生产者消费者模型与线程池实战

线程同步进阶:条件变量、生产者消费者模型与线程池实战

我在最早写多线程程序的时候,曾经特别想当然地以为「给共享变量加上互斥锁,程序就安全了」。结果联调测试的时候,数据确实不乱了,但业务节奏全乱了:某个线程等的数据明明已经被另一个线程准备好了,它却还在…

2026/10/10 19:50:17 阅读更多 →
官方演示 vs 社区复刻:同一个 VoiceBox,谁更值得装进项目

官方演示 vs 社区复刻:同一个 VoiceBox,谁更值得装进项目

官方演示 vs 社区复刻:同一个 VoiceBox,谁更值得装进项目 【免费下载链接】voicebox The open-source AI voice studio. Clone, dictate, create. 项目地址: https://gitcode.com/GitHub_Trending/voicebox1/voicebox "VoiceBox"这个名…

2026/10/10 19:49:17 阅读更多 →
风光火储一次调频与二次调频Simulink仿真建模详解

风光火储一次调频与二次调频Simulink仿真建模详解

收到不少做电气仿真的人私信,问得最多的就是风光火储一次调频和二次调频的仿真模型该怎么搭。这确实是块硬骨头——题目看起来挺简单,可是真要在Simulink里把风机、储能、火电、水电、电动汽车这几个参与方放在同一个频率控制框架下,让一次调…

2026/10/10 19:49:17 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →