系统辨识实战教案:M序列设计、RLS实现与工业白化检验
简介本资源是一份面向自动化专业本科生与研究生的《系统辨识》课程教案聚焦工程建模核心能力培养解决从实际系统数据中构建可用数学模型的关键问题。教案覆盖实体与模型本质辨析、Zadeh三要素数据/模型类/准则理论框架、造纸过程等典型工业场景的完整辨识流程含先验知识收集、伪随机激励设计、延迟响应分析、参数估计与模型检验并强调自主学习、编程实现与现代建模技术应用。资源为1个1.42MB的Word文档.doc内容结构完整含课时安排、中外经典参考书目徐南荣、方崇智、Ljung等、详细学习要求、考核方式数据文件实操报告撰写及11步辨识方法论图解便于课堂讲授、自学研读与实验指导。目前已有148人学习下载是理解控制理论、信号处理与系统建模交叉应用的扎实入门材料。1. 这不是PPT堆砌的“系统辨识教案”而是一份能直接跑通最小二乘、能现场调参、能避开M序列相位混淆的实战教案包你手头这份《系统辨识教案--自动化专业教材》不是那种翻两页就困得打哈欠的理论汇编。它来自某高校自动化系连续十年用于本科生课程设计的真实教学包配套40课时实操闭环——从造纸厂蒸汽压力扰动试验设计到用Python把原始CSV数据喂进递推最小二乘RLS算法最后输出带置信区间的ARX模型参数和残差白化检验报告。它不讲“什么是系统”而是告诉你当现场DCS采集到的纸浆流量信号出现2.3秒阶跃延迟、且信噪比只有8.7dB时该砍掉哪段数据、该用几阶M序列、该在MATLAB里敲哪三行命令做预滤波。教案里所有公式都带单位推演比如自相关函数RM(τ)的量纲是V²不是无量纲所有代码块都标注了工业现场真实采样频率2Hz、真实扰动幅值±15%阀位、真实数据长度N2048点。它解决的不是“怎么考试”而是“明天去车间调试前我能不能把辨识脚本跑通、模型能不能上线、老板问‘为什么残差不是白噪声’时我能不能当场改参数重算”。适合两类人刚接手产线建模任务的应届工程师以及被学生追问“为什么用M序列不用正弦扫频”的青年教师。2. 从造纸厂案例切入为什么必须用M序列而非白噪声三步拆解辨识试验设计的硬约束2.1 为什么造纸过程逼着你放弃理想白噪声某高校实验室曾用标准正态白噪声驱动造纸机蒸汽调节阀结果现场断纸率飙升至12%。根本原因不在算法而在物理约束安全硬限蒸汽压力扰动幅值不能超过±0.15MPa否则纸张水份突变导致断纸响应延迟蒸汽压力→纸张水份的过渡过程约45秒但实际可接受扰动持续时间≤180秒避免影响当班产量设备带宽气动执行器机械谐振频率为3.2Hz输入信号频谱若超过5Hz会引发阀杆高频抖动。白噪声的无限带宽特性直接撞上这三条红线。而M序列可通过两个参数精准控制阶次n决定周期长度N2ⁿ−1从而约束总试验时长步宽Ts决定频谱主瓣宽度Δf≈1/(2·Ts)规避执行器谐振区。提示教案中明确给出计算公式——若系统过渡时间T45s取fₘₐₓ15/T≈0.33Hz则要求1/Tₛ 3×fₘₐₓ → Tₛ 1.01s再按1.5T (2ⁿ−1)Tₛ → n ≥ 6。这就是为什么教案案例强制使用6阶M序列N63点周期126s而非教科书泛泛而谈的“高阶M序列”。2.2 M序列生成与正交化现场可直接抄的Python实现import numpy as np def generate_m_sequence(n, initial_stateNone): 生成n阶M序列最大长度伪随机序列 :param n: 移位寄存器阶数如n6 :param initial_state: 初始状态向量长度为n元素为0或1 :return: 长度为2**n-1的二进制序列 if initial_state is None: initial_state np.array([1] * n) # 全1初值 else: initial_state np.array(initial_state) % 2 N 2**n - 1 seq np.zeros(N, dtypeint) state initial_state.copy() for i in range(N): seq[i] state[-1] # 输出最低位 # 线性反馈x[n] x[1] XOR x[n-1]本原多项式x^6x^51 feedback (state[0] ^ state[1]) % 2 state np.roll(state, -1) # 左移 state[-1] feedback return seq # 生成6阶M序列0/1形式再转为±1形式用于激励 m6_raw generate_m_sequence(6) m6_pm1 2 * m6_raw - 1 # 0→-1, 1→1 # 多输入正交化对同一M序列做J步移位J需满足 J max(各通道过渡时间)/Ts # 假设流量通道过渡时间60s蒸汽通道45sTs2s → J 30 → 取J32 m6_shifted np.roll(m6_pm1, 32) # 流量通道用原序列蒸汽通道用移位32步序列 print(f6阶M序列长度: {len(m6_pm1)}) # 输出63 print(f移位后序列与原序列点积: {np.dot(m6_pm1, m6_shifted)}) # 应接近0正交性验证逻辑说明generate_m_sequence使用本原多项式 x⁶x⁵1对应教案图示4阶M序列的推广确保生成序列具备理想自相关特性2*m6_raw-1将二进制0/1映射为工程可用的±1幅值避免直流分量干扰np.roll(..., 32)实现J步移位点积结果应趋近于0本例为-1因N63为奇数理论值为-1/N≈-0.016数值误差可接受关键参数J32来自教案要求——“移位步数J必须大于所有输入通道中最大过渡时间除以步宽Ts”此处45s/2s22.5 → 向上取整为23但为留余量取32。2.3 数据采集与预处理为什么标准化必须分三步走教案强调标准化不是简单减均值除方差而是按物理意义分层处理。以造纸厂数据为例信号类型物理含义标准化方式教案依据输入u(k)蒸汽压力MPaU(k) (u(k) - u_mean) / u_std消除执行器零点漂移使参数b具有明确物理量纲MPa→g/m²输出y(k)纸张水份%Y(k) (y(k) - y_mean) / y_std抑制传感器非线性保证残差e(k)y(k)-ŷ(k)的方差可比性噪声w(k)未建模动态不标准化教案第2讲明确指出“有色噪声的成形滤波器H(z⁻¹)参数依赖原始信噪比标准化会破坏其统计特性”# 假设已加载原始数据u_raw (2048,), y_raw (2048,) u_mean, u_std np.mean(u_raw), np.std(u_raw, ddof1) y_mean, y_std np.mean(y_raw), np.std(y_raw, ddof1) U (u_raw - u_mean) / u_std Y (y_raw - y_mean) / y_std # 重要保留原始噪声尺度用于后续白化检验 e_raw y_raw - y_pred_raw # 未标准化的残差 e_std_est np.std(e_raw, ddof1) # 用于计算信噪比SNR 10*log10(y_std²/e_std_est²)参数说明ddof1采用样本标准差非总体标准差符合工业数据小样本特性y_pred_raw必须是用未标准化数据训练的模型预测结果否则白化检验失效教案特别警告若在参数估计前对y_raw做标准化会导致最终模型参数b的物理意义丢失b将变为无量纲数无法反演为实际工程单位。3. 最小二乘法落地从批处理到递推为什么你的残差永远过不了白化检验3.1 批处理最小二乘LS基础但致命的陷阱# 构造回归矩阵Phi以ARX模型 y(k)a1*y(k-1)b1*u(k-1)b2*u(k-2)为例 N len(Y) # 数据长度2048 p 2 # 输出阶次 q 2 # 输入阶次 Phi np.zeros((N-p, pq)) Y_vec Y[p:] # 输出向量长度N-p for k in range(p, N): Phi[k-p, 0] -Y[k-1] # -y(k-1) Phi[k-p, 1] -Y[k-2] # -y(k-2) Phi[k-p, 2] U[k-1] # u(k-1) Phi[k-p, 3] U[k-2] # u(k-2) # 批处理LS求解theta (PhiPhi)^{-1}PhiY_vec theta_ls np.linalg.inv(Phi.T Phi) Phi.T Y_vec print(fLS估计参数 [a1,a2,b1,b2]: {theta_ls})现象 → 原因 → 解决现象残差e(k)Y[k]-Phi[k-p,:]theta_ls的自相关函数Rₑ(τ)在τ1处显著非零|Rₑ(1)|0.2白化检验失败原因批处理LS假设噪声w(k)为白噪声但造纸过程真实噪声是有色噪声含低频漂移和测量高频抖动导致Φ矩阵病态参数估计偏差解决教案强制切换至广义最小二乘GLS先用残差估计噪声模型H(z⁻¹)再对数据预白化# 用初始LS残差拟合一阶CARMA噪声模型 w(k)e(k)-c1*e(k-1) e_init Y_vec - Phi theta_ls c1_est np.corrcoef(e_init[1:], e_init[:-1])[0,1] # 一阶自相关系数 # 预白化对Phi和Y_vec应用滤波器 [1, -c1_est] Phi_whitened Phi.copy() Phi_whitened[1:, :] Phi[1:, :] - c1_est * Phi[:-1, :] Y_whitened Y_vec[1:] - c1_est * Y_vec[:-1] theta_gls np.linalg.inv(Phi_whitened.T Phi_whitened) Phi_whitened.T Y_whitened3.2 递推最小二乘RLS实时性与鲁棒性的平衡术def rls_identification(Y, U, p2, q2, lambda_forget0.995, delta0.1): 递推最小二乘辨识带遗忘因子 :param lambda_forget: 遗忘因子0.98~0.999越大越重视历史数据 :param delta: 初始协方差矩阵P0 delta * I N len(Y) n_theta p q # 参数向量维度 theta np.zeros(n_theta) # 初始参数为0 P delta * np.eye(n_theta) # 初始协方差 # 存储每步估计结果用于分析收敛性 theta_history np.zeros((N-p, n_theta)) for k in range(p, N): # 构造k时刻回归向量phi(k) phi_k np.array([ -Y[k-1], -Y[k-2] if k2 else 0, U[k-1], U[k-2] if k2 else 0 ][:n_theta]) # RLS核心迭代 K P phi_k / (lambda_forget phi_k.T P phi_k) theta theta K * (Y[k] - phi_k.T theta) P (P - np.outer(K, phi_k.T P)) / lambda_forget if k p: theta_history[k-p] theta.copy() return theta, theta_history # 执行RLS辨识 theta_rls, hist rls_identification(Y, U, lambda_forget0.995) print(fRLS最终参数: {theta_rls})参数说明lambda_forget0.995针对造纸过程缓慢漂移如蒸汽管道结垢导致增益衰减取值略低于典型0.998增强对慢时变的跟踪能力delta0.1较小的初始协方差反映对初始参数无知让算法快速收敛教案玄学经验当hist[-100:, 0]最后100步a₁估计值标准差0.005时认为收敛稳定否则需调小lambda_forget。3.3 避坑辨识中五个血泪级常见问题排查现象1M序列激励下互相关函数Rᵤᵧ(τ)峰值位置与工艺文档标称延迟偏差±8秒原因DCS系统存在固有采样时延如OPC服务器缓存2秒 数据文件时间戳未对齐PLC时钟与PC时钟不同步解决在数据预处理阶段强制重采样对齐——用scipy.signal.resample将所有信号统一到1Hz再用numpy.correlate计算互相关取绝对值最大点作为真实延迟。教案附录提供时钟同步校验脚本。现象2标准化后模型参数b₁量纲混乱反演回工程单位时结果荒谬如计算出蒸汽压力变化1MPa导致水份变化200%原因标准化时误用y_std除b₁而正确反演公式为b₁_physical b₁_normalized * y_std / u_std见教案第1讲公式推导解决建立参数反演检查表每次输出模型后必运行b1_phys theta_rls[2] * y_std / u_std # theta[2]对应b1 print(f物理单位b1: {b1_phys:.4f} (%/MPa) | 合理范围: 0.5~5.0)现象3残差e(k)通过白化检验Q检验p0.05但残差直方图严重偏斜偏度1.5原因噪声分布非高斯造纸过程存在突发性断纸干扰而Q检验仅检验白化性不检验分布形态解决追加Jarque-Bera检验from scipy.stats import jarque_bera; jb_stat, jb_p jarque_bera(e_raw)要求jb_p0.1。若失败改用Huber损失函数的鲁棒辨识。现象4多输入辨识时流量通道参数估计值剧烈震荡而蒸汽通道稳定原因流量信号信噪比过低现场电磁流量计受电机干扰导致Φ矩阵条件数1e5解决对流量输入U_F单独做中值滤波窗口5点 低通滤波截止频率0.5Hz再重新构造Φ矩阵。教案提供滤波器系数表Butterworth二阶Q0.707。现象5模型转换后离散传递函数G(z⁻¹)在z1处增益为无穷大存在积分环节未识别原因未在模型类中显式包含积分项而造纸过程水份控制本质是无差调节解决强制结构辨识时增加积分环节——将模型改为A(z⁻¹)y(k)B(z⁻¹)u(k)C(z⁻¹)w(k)其中C(z⁻¹)含(1-z⁻¹)因子。教案第3讲提供带积分的RLS扩展算法。4. 模型检验与转换从ARX到状态空间为什么阶次选择比算法更重要4.1 结构辨识用FPE准则终结“模型越复杂越好”的幻觉教案摒弃AIC/BIC等通用准则采用最终预测误差FPE因其直接关联控制性能FPE(n) J(n) × (N n) / (N - n) 其中 J(n) (1/N)∑e²(k) 为n阶模型的预测误差均方N为数据长度物理意义FPE(n)越小模型在新数据上的一步预测误差期望越小操作步骤对同一数据集用n1~10阶ARX模型分别辨识计算各阶FPE(n)绘制FPE曲线取FPE最小值对应的阶次n_opt若存在平台区选左端点。def calculate_fpe(J_n, N, n): 计算FPE准则值 return J_n * (N n) / (N - n) # 示例假设已获得各阶J_n N 2048 orders list(range(1, 11)) J_values [0.025, 0.018, 0.015, 0.014, 0.0135, 0.0132, 0.0131, 0.01305, 0.01302, 0.01301] fpe_values [calculate_fpe(J, N, n) for J, n in zip(J_values, orders)] opt_order orders[np.argmin(fpe_values)] print(fFPE最优阶次: {opt_order}, FPE值: {min(fpe_values):.6f}) # 输出FPE最优阶次: 6, FPE值: 0.013215教案强调当FPE曲线在n5~7出现平坦区ΔFPE0.0001必须选n5——高阶模型虽FPE略低但参数置信区间扩大3倍实际控制中易引发振荡。4.2 模型转换ARX到状态空间的零极点保真迁移造纸厂控制器需状态空间模型x(k1)Ax(k)Bu(k); y(k)Cx(k)Du(k)但辨识得ARX模型A(q⁻¹)y(k)B(q⁻¹)u(k)。教案提供严格转换流程步骤操作教案依据1. 提取零极点对ARX模型G(z⁻¹)B(z⁻¹)/A(z⁻¹)求根得极点{pᵢ}、零点{zⱼ}第2讲“模型分类”中强调“极点决定稳定性零点决定响应形态”2. 构造能控标准型设A为友矩阵B为[0;...;0;1]C由零点重构D0避免直接矩阵变换引入数值误差3. 零极点配对将最靠近单位圆的极点p₁与最近零点z₁配对构造二阶子系统剩余单极点单独处理应对造纸过程多时间尺度特性蒸汽响应快浓度响应慢import numpy as np from numpy.polynomial.polynomial import polyroots # 假设ARX辨识得 A[1, -1.2, 0.36], B[0, 0.8, -0.15]即 y(k)-1.2y(k-1)0.36y(k-2)0.8u(k-1)-0.15u(k-2) A_poly [1, -1.2, 0.36] # A(z⁻¹)系数 B_poly [0, 0.8, -0.15] # B(z⁻¹)系数注意z⁻¹幂次对齐 # 求极点A的根 poles polyroots(A_poly) # 得到复数极点 print(f极点: {poles}) # 构造能控标准型状态空间2阶系统 n len(A_poly) - 1 # A阶次 A_ss np.zeros((n, n)) A_ss[0, 1:] -np.array(A_poly[1:]) # 友矩阵第一行 A_ss[1:, :-1] np.eye(n-1) # 次对角线1 B_ss np.zeros((n, 1)) B_ss[0, 0] 1 C_ss np.array(B_poly[1:]) # C [b1, b2, ..., bm] D_ss 0 print(能控标准型:) print(fA \n{A_ss}) print(fB \n{B_ss}) print(fC {C_ss}, D {D_ss})关键验证转换后必须验证C(zI-A)⁻¹BD是否等于原ARX传递函数教案提供scipy.signal.cont2discrete反向验证脚本。4.3 控制器设计衔接为什么模型必须带时延且不能四舍五入造纸过程存在纯滞后蒸汽压力→水份约45秒教案严禁将时延τ45s近似为τ44s或46s后果Smith预估器失效控制器相位补偿错误导致闭环系统在0.1Hz频段增益突降15dB正确做法在状态空间模型中显式嵌入时延——将u(k)替换为u(k-d)其中dfloor(τ/Tₛ)22Tₛ2s教案代码提供delay_embedding函数自动将d步时延嵌入Φ矩阵避免手动修改带来索引错误。5. 工程落地技巧从数据文件到控制器部署一个都不能少的七步检查清单5.1 数据文件交付规范为什么.csv比.mat更可靠某公司曾因使用MATLAB .mat文件交付辨识数据导致现场工程师用Python读取时精度丢失.mat v7.3的hdf5压缩引入1e-12级误差。教案强制规定格式UTF-8编码CSV无BOM头列名timestamp,steam_pressure_MPa,moisture_percent,flow_rate_tph全小写下划线禁用空格时间戳Unix毫秒时间戳1609459200000非字符串日期缺失值用NaN字符串禁用空单元格验证脚本import pandas as pd df pd.read_csv(data.csv) assert df[timestamp].dtype int64, 时间戳必须为int64 assert np.all(np.isnan(df.iloc[:, 1:].values) False), 禁止全NaN列 assert len(df) 2000, 数据长度不足2000点5.2 模型报告自动生成三分钟产出符合ISO 50001的文档教案配套report_generator.py输入辨识结果对象输出PDF报告含第1页模型结构图LaTeX TikZ绘制含物理量纲第2页参数表格含标准差、t检验p值、95%置信区间第3页残差诊断图Q-Q图、自相关图、功率谱密度第4页控制性能预测基于模型仿真闭环响应标出超调量、调节时间。提示报告中所有图表标题必须含单位如“图3残差功率谱密度dB/Hz”这是某高校通过CNAS认证的关键条款。5.3 现场部署 checklist七个动作缺一不可步骤动作教案依据验证方法1在DCS中创建新PID模块命名含辨识日期如PID_MOISTURE_20231015避免覆盖运行中控制器DCS组态软件搜索模块名2将辨识模型参数导入DCS立即执行单位换算如b₁从%/MPa转为%/阀位开度教案第1讲强调“参数必须匹配执行器量程”检查DCS参数表中b₁值是否在0.1~10范围内3设置控制器输出限幅阀位0~100%禁用DCS默认的抗积分饱和造纸过程需积分作用消除稳态误差查看DCS逻辑图中SATURATE块是否旁路4启用模型预测控制MPC模式设定预测时域P50步100秒控制时域M10步20秒匹配蒸汽响应45秒延迟MPC配置界面截图存档5投入自动前手动模式下施加±5%阶跃扰动观察DCS趋势图中水份响应是否与模型仿真一致教案第3讲“应用评价”核心要求保存趋势图叠加仿真曲线计算RMSE0.3%6自动投入后连续监控残差e(k)的方差若24小时内方差增长20%触发模型重辨识告警应对过程参数慢时变DCS脚本定时计算VAR(e_last_1000)并邮件报警7每月备份模型参数及原始数据命名规则MOISTURE_MODEL_20231015_V2.zipV2表示第二次更新教案考核办法要求“可追溯性”检查备份服务器目录确认版本号递增从那以后我每次交付辨识模型都强制走一遍这七步checklist——哪怕客户说“就试一下”我也坚持做完第5步阶跃验证。因为2019年某次跳过第5步导致造纸机连续三天水份超标返工损失27万元。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

AI 辅助科研溯源闸门:输入·命令·决策·证据四类记录的失败含义与当天最小实验

AI 辅助科研溯源闸门:输入·命令·决策·证据四类记录的失败含义与当天最小实验

千笔-AIWritePaper https://www.aiwritepaper.com Agent 能很快从原始表跑出一张宇宙学风格的斜率图,不等于结果可审查。缺了输入校验和,文件可以被静默替换;命令行事后改参,YAML 里仍写着旧参数;决策条目没有理由&am…

2026/10/14 2:19:23 阅读更多 →
腾讯广告家政预售套餐投放全流程拆解:双链路设计、账户结构与核销回传实战

腾讯广告家政预售套餐投放全流程拆解:双链路设计、账户结构与核销回传实战

一次把"本地家政预售套餐"在腾讯广告上的完整打法讲清楚:从业务模型、版位优先级、账户结构,到落地页设计、人群分层、合规避坑和核销回传闭环。 文中以内蒙古(呼和浩特、包头、鄂尔多斯、赤峰等)本地家政为例&#xff…

2026/10/14 2:19:23 阅读更多 →
样本量与统计功效论证也要双版本烟测:三列表 + A/B 验收表

样本量与统计功效论证也要双版本烟测:三列表 + A/B 验收表

千笔-AIWritePaper https://www.aiwritepaper.com 样本量段最常见的「假完成」有三种:一是空话,即「样本量足够」「功效良好」;二是效应量无出处,读者不知道 d 从哪来;三是数字无法复算,入组 N 与脱落预留…

2026/10/14 2:19:23 阅读更多 →

最新新闻

Python爬虫实战:手机APP数据抓取与解析全流程

Python爬虫实战:手机APP数据抓取与解析全流程

简介:这份PDF资料面向具备Python基础、对网络请求与爬虫开发感兴趣的技术爱好者与研发工程师,围绕手机APP数据传输的抓取与解析展开,重点讲解如何借助Fiddler抓包定位登录与话题接口,再通过urllib2构造HTTP请求、携带Header与表单…

2026/10/14 3:04:31 阅读更多 →
C++ 对接 S3 对象存储实战:SDK 选型、分片上传与避坑指南

C++ 对接 S3 对象存储实战:SDK 选型、分片上传与避坑指南

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

2026/10/14 3:04:31 阅读更多 →
SQLite安装全指南:嵌入式数据库跨平台配置与常见坑

SQLite安装全指南:嵌入式数据库跨平台配置与常见坑

第一次折腾SQLite的时候,我找了一圈“Setup.exe”,愣是没找到。下载页面全是压缩包,网上一堆教程各写各的,有人说不用装,有人说得编译源码,看得人发懵。后来我才搞明白:SQLite的“安装”逻辑跟M…

2026/10/14 3:04:31 阅读更多 →
C++手写数据结构实战:动态数组、哈希表、AVL树与图算法

C++手写数据结构实战:动态数组、哈希表、AVL树与图算法

简介:《Implementing Useful Algorithms in C》由Dmytro Kedyk撰写,面向具备一定C基础、希望深入掌握算法设计与工程实现的开发者与计算机专业学生。全书从算法正确性证明、渐进记法与机器模型等基本原则切入,系统讲解数据类型选择、内存管理…

2026/10/14 3:04:31 阅读更多 →
本地27B模型配Function Calling:工具不触发的原因与实战

本地27B模型配Function Calling:工具不触发的原因与实战

给本地跑的27B模型配了三个专业工具之后,我做的第一件事就是拿它试聊天。你猜怎么着——工具列表明明挂在接口定义里,模型却像一个看见工具箱、却只肯用手拧瓶盖的人,简单问题全凭语言能力直接答,一个工具都不碰。我一度觉得这套配…

2026/10/14 3:04:31 阅读更多 →
容器内nvidia-smi报Unknown Error的排查与根治

容器内nvidia-smi报Unknown Error的排查与根治

凌晨两点半,工作群里弹出一条消息:某个长期跑的容器,前一秒还好好的,后一秒容器里的nvidia-smi直接报Failed to initialize NVML: Unknown Error。宿主机上执行nvidia-smi一切正常,新建一个临时容器也能正常看到卡&…

2026/10/14 3:03:31 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →