位移速度加速度信号互转实战:时域积分微分与FFT频域处理
简介围绕位移、速度与加速度信号互转的Matlab学习资源面向信号处理与数据分析初学者重点演示通过微分与积分在角位移、角速度及加速度等物理量之间进行转换。压缩包共4个文件包括3个Matlab脚本与1个数据文件分别提供正弦信号生成、加速度与速度互转、角速度与角位移换算等典型实现并附带示例数据便于实战整体仅有23KB轻量便捷且易用。已有6120人浏览学习适合需要快速掌握信号微分积分操作或验证相关算法的读者也适合作为Matlab课程设计参考资料。通过脚本可掌握diff、cumsum、filter等函数的实际用法并熟悉数据导入、预处理、转换、绘图检查与结果保存的完整流程有助于提升理论与实践结合能力代码结构清晰便于二次修改与复用。1. 位移、速度、加速度信号互转振动测试里最被低估的一步做振动台扫频验收时某设备厂家给了一整份加速度时程验收标准里却要求位移幅值我和同事盯着数据看了半天最后还是重新回到位移、速度、加速度信号互转这条老路上来。这三个量本质上是同一个运动过程的三种描述差一个积分或微分教科书里是一页纸的公式放到实测信号上却处处是坑积分会漂移微分会放大噪声频域法又带来端点效应。这篇文章把我在振动标定、结构监测和运动控制上反复用到的互转套路拆开讲包含可以直接跑的代码、必须调的参数和踩过的坑。适合要做信号互转的工程师也适合刚拿到加速度计数据却不知道下一步怎么算的朋友。2. 从加速度到位移的时域积分漂移从哪来怎么消2.1 直接 cumsum 会得到一个灾难性的位移曲线加速度到位移的物理关系是 a(t)→v(t)→x(t)对应两次积分。数字域里最朴素的想法是直接用 numpy 的 cumsum 把加速度累加一遍再累加一遍得到位移。第一次这么干的人几乎都会得到一条灾难性曲线位移随时间越来越大永远停不下来峰值比真实振动幅值大几个数量级。问题出在累积误差。加速度信号里只要残留一点点直流偏置或低频噪声积分一次就变成线性趋势积分两次就变成二次曲线。我用一个数字说明严重程度假设加速度计零偏为 0.01g也就是约 0.098 m/s²这个偏差连续作用 10 秒理论位移误差就是 0.5×0.098×10² ≈ 4.9 米。振动测试的位移通常只有毫米级等于说结果完全没有参考价值。所以时域积分的第一步不是选算法而是承认噪声不可消除只能靠预处理和分步积分压住它。常见做法是去均值、去趋势、必要时高通滤波然后积一次积完对结果再抠一次趋势。下面按这个顺序给出一套能直接用的流程。2.2 梯形积分加初值修正最少代码的可靠做法时域积分有矩形法、梯形法和辛普森法。我一般用梯形法它把每个采样间隔内的信号看作线性变化对平滑信号的误差足够小代码也简单。下面是一个带初值的实现import numpy as np def trapezoid_integral(signal: np.ndarray, dt: float, y0: float 0.0) - np.ndarray: 梯形法数值积分返回与输入等长的积分结果。 signal : 输入信号如加速度m/s^2 dt : 采样间隔单位秒 y0 : 积分初值默认 0 n len(signal) out np.zeros(n) out[0] y0 for i in range(1, n): out[i] out[i - 1] 0.5 * (signal[i - 1] signal[i]) * dt return out代码逻辑每一步把上一时刻的累积值加上“当前梯形面积”梯形面积是相邻两点平均后乘以时间间隔 dt。初值 y0 在物理上对应初始速度或初始位移振动测试里通常未知默认取 0 会让开头一小段偏差较大但配合后面的去趋势操作整体影响可控。循环版本容易读但十万点以上建议改成向量化写法def trapezoid_integral_fast(signal: np.ndarray, dt: float, y0: float 0.0) - np.ndarray: 向量化梯形积分长信号推荐。 diff 0.5 * (signal[1:] signal[:-1]) * dt out np.zeros(len(signal)) out[0] y0 out[1:] y0 np.cumsum(diff) return out两个版本结果一致向量化版本在百万点数据上能快一个数量级。参数 dt 必须与采集设备一致单位用秒如果数据里是毫秒时间戳先转成秒再传入。积出来的单位由输入单位乘以秒决定加速度 m/s² 积一次得到 m/s再积一次得到 m。2.3 去均值与去趋势积分前的两个强制预处理直接拿原始加速度去积分哪怕用了梯形法结果照样飘。第一步是去均值把整段数据的平均直流分量减掉这一步能解决零偏带来的线性趋势但解决不了缓慢变化的低频漂移。第二步用多项式拟合趋势并扣除def remove_polynomial_trend(signal: np.ndarray, order: int 1) - np.ndarray: 拟合多项式趋势并扣除。 order1 去掉线性趋势order2 去掉二次趋势。 阶次不是越高越好过高会误伤真实低频成分。 idx np.arange(len(signal)) coeff np.polyfit(idx, signal, order) trend np.polyval(coeff, idx) return signal - trend完整处理流程如下dt 0.001 # 采样周期 1 kHz acc np.loadtxt(acc.csv) # 采集卡导出的加速度 acc acc - acc.mean() # 去直流 vel trapezoid_integral_fast(acc, dt) vel remove_polynomial_trend(vel, 1) # 速度层去一次线性趋势 disp trapezoid_integral_fast(vel, dt) disp remove_polynomial_trend(disp, 1) # 位移层修正残余基线这里的顺序有讲究先积速度在速度层扣掉线性趋势再积位移。如果一步直接积两次速度层的线性漂移会被二次积分放大到位移层变成二次曲线只靠去除线性趋势压不住。去趋势的 order 一般取 1只有当速度曲线明显呈抛物线时才考虑 order2取高了会把真实速度里的低频运动一起抹掉。如果信号里有明显的周期性强低频干扰比如 0.2 Hz 的温漂多项式去趋势压不住就要上高通滤波。我用 Butterworth 高通截止频率尽量贴近目标信号的最低频率一般取目标频率下限的一半左右。比如关心 2 Hz 以上的振动高通截止设 1 Hz 左右设太低滤不掉漂移设太高会把 25 Hz 的真实振动幅值压小。2.4 分步积分不是慢办法是防漂移的关键设计有人会问速度层去一次趋势位移层又去一次趋势是不是有点“硬掰”我的看法是目标是长时程监测的位移时程时这样做是被噪声逼出来的必要修正。加速度计的低频响应天生弱直流和趋势项在积分里不断累积不在中间层拦住它它会在最终结果里冲出边界。分步积分的代价是多了两次数组遍历在现在硬件上几乎可以忽略。换来的好处是结果在零线附近波动而不是跑到几十米外回不来。实际项目里与其调一套复杂的自适应滤波不如先用“去均值-积速度-去趋势-积位移-去趋势”这套流程跑通再根据剩余漂移决定要不要上更高阶处理。3. 从位移到速度和加速度微分噪声放大怎么压3.1 一阶差分这个最简单算法为什么一算一个崩反向互转同样常见编码器输出位置伺服环需要速度激光位移计测了振动位移报告里还想给速度峰值。最土的实现是相邻两点一阶差分写成公式就是 (x[n] - x[n-1]) / dt。问题是差分对高频噪声的放大倍数约等于 1/dt。举个例子位移传感器分辨率 0.01 mm采样率 5 kHz噪声峰峰按 ±0.01 mm 算差分后的速度噪声就是 ±0.01 / 0.0002 ±50 mm/s。如果被测运动的真实速度只有几十 mm/s噪声已经把信号完全淹没。即便传感器没这么差电机换向、采集卡抖动这些毛刺也足够让差分结果变成锯齿状。我见过有人把位置信号做一阶差分得到速度曲线波形像一团乱麻后来发现源头不是运动本身是采集噪声。还要注意一阶差分对真实的高频运动分量存在幅度畸变频率越接近奈奎斯特频率幅值偏差越大。所以微分这条路优先考虑的不是“提高差分点数”而是先想清楚怎么在动微分之前把噪声压住。3.2 中心差分和 Savitzky-Golay精度与平滑的折中如果信号质量已经不错中心差分是最常用的升级版。它用前后两个邻居的均值差除以 2dt截断误差从 O(dt) 降到 O(dt²)对高频噪声的放大也小一些。def central_diff(signal: np.ndarray, dt: float) - np.ndarray: 中心差分求一阶导数两端用前向/后向差分补齐。 d np.zeros_like(signal) d[0] (signal[1] - signal[0]) / dt d[-1] (signal[-1] - signal[-2]) / dt d[1:-1] (signal[2:] - signal[0:-2]) / (2.0 * dt) return d中心差分同样要求等间隔采样时间轴有丢点时不能用。两端各缺一个点我用单向差分补齐但这意味着两端数据在后续使用中要谨慎尤其是要做积分或统计峰值时。当实测信号噪声明显我更推荐直接上 Savitzky-Golay 滤波器的导数模式它相当于在移动窗口里做多项式最小二乘拟合再取该点的解析导数。scipy 里一行就能用from scipy.signal import savgol_filter # window_length 必须是奇数且大于 polyorder1 vel savgol_filter(disp, window_length15, polyorder2, deriv1, deltadt)参数说明window_length 是平滑窗内的点数15 对应 15 个采样点窗口越大噪声压得越低但会把真实速度里的快速变化拉平polyorder 是拟合多项式阶次我一般取 2取 3 时对尖峰保留更好但噪声也更大delta 必须设置为 dt否则导数结果的量纲会错。这个函数的好处是平滑和微分一步完成不用先滤波再差分坏处是窗口边缘的导数可信度低所以我会把两端各十几点扔掉或者给数据前后补一段缓冲。3.3 先滤波再微分顺序不能反不同场景对“实时”要求不一样。离线分析里正确的顺序一定是先做零相位低通滤波再做中心差分或 SG 微分。先差分把高频噪声放大再滤波虽然也能压回去但被放大的毛刺会在滤波窗口内扩散效果远不如先滤后微。零相位滤波用 scipy.signal.filtfilt不要用 lfilter后者会带来与频率相关的相位偏移微分再加相移最终速度相位会明显对不齐。from scipy.signal import butter, filtfilt def zero_phase_lowpass(signal: np.ndarray, fs: float, cutoff: float, order: int 4) - np.ndarray: 零相位 Butterworth 低通滤波。 nyq fs / 2.0 b, a butter(order, cutoff / nyq, btypelowpass) return filtfilt(b, a, signal)截止频率怎么定是这里的关键。我按关心运动的最高频率来设比如结构监测关心 0.520 Hz低通截止设在 30 Hz 或 50 Hz 都行太高没滤掉噪声太低把 20 Hz 附近的真实加速度衰减了。判断是否过度滤波的办法滤完再算一次原始信号与滤波信号在关心频带内的幅值比衰减超过 5% 就该提高截止频率。这一段属于逐案调整的部分不抄参数直接上几乎都会翻车。在线实时系统不能用 filtfilt因为它是非因果的需要整段数据。在线做法是普通 Butterworth 低通配合群延迟补偿或者改用移动平均和一阶低通。最稳妥的是用固定采样率的因果低通滤波然后测量它的群延迟在后续控制里做相位补偿否则速度和位移之间的相位关系会乱。4. 频域互转一招通吃FFT 实现积分与微分4.1 频域互转的数学乘除以 jω 就是积分与微分时域里的微分和积分在频域就是乘或除以一个虚数因子。对信号做傅里叶变换后每个频率分量的幅值乘以 jω 得到微分频谱除以 jω 得到积分频谱其中 ω 2πf。这样做的最大优势是积分不再一步一个点地累积误差而是对整段频谱做一次全局换算低频噪声虽然同样会被放大但不会产生随积分时长增长的“二次方漂移”。这段数学看起来干净落地时有两个现实问题。第一个是直流分量频率等于 0 时 jω 等于 0除法直接除零所以频域积分必须把直流分量置零等效于去均值。第二个是端点效应FFT 内在假设信号是周期延拓的实测信号首尾不连续换算后两端往往出现大幅摆动。这两个问题处理不好频域方法照样翻车。4.2 FFT 互转的 Python 实现含去趋势和端点处理下面是我常用的频域积分函数def fft_integrate(signal: np.ndarray, dt: float, order: int 1) - np.ndarray: 频域积分order1 得速度order2 得位移。 直流分量被自动置零等效于去均值。 n len(signal) f np.fft.rfftfreq(n, ddt) spec np.fft.rfft(signal) # 只对 f0 的分量做除法避免除零 mask f 0.0 out_spec np.zeros_like(spec) out_spec[mask] spec[mask] / (2j * np.pi * f[mask]) ** order return np.fft.irfft(out_spec, n)频域微分只是把除号换成乘号def fft_derivative(signal: np.ndarray, dt: float, order: int 1) - np.ndarray: 频域微分order1 得速度order2 得加速度。 n len(signal) f np.fft.rfftfreq(n, ddt) spec np.fft.rfft(signal) out_spec spec * (2j * np.pi * f) ** order # 直流分量为 0天然被置零 return np.fft.irfft(out_spec, n)注意 order 是幂次不是“积几次”的循环次数。f 的单位是 Hz乘上 2jπ 后对应角频率rfft 只取正频率irfft 负责拼回实信号往返之间能量是守恒的。调用之前我一般会给原始信号两端做镜像延拓每端延伸原长度 5%10%处理完再截掉能明显压住端点摆动。def mirror_extend(signal: np.ndarray, ratio: float 0.05) - tuple: 镜像延拓返回延拓后的列表和应截取的区间。 n len(signal) k max(1, int(n * ratio)) ext np.concatenate([signal[k-1::-1], signal, signal[:-k-1:-1]]) return ext, (k, k n)逻辑说明前后各补一段镜像数据让首尾不连续变成局部的对称连续。做完 FFT 积分或微分后取中间那段返回。延拓比例不是越大越好5% 对大多数振动信号够用延太长了等于给频谱多加人为低频成分反而污染结果。4.3 时域法与频域法怎么选频域法适合离线、整段数据分析比如试验后处理、数据回放。它无法边采集边实时输出因为一次要处理整段数据。时域法可以做成流式处理配合滤波也能扛住正常噪声但漂移的根治能力不如频域。我把选型建议整理成表场景推荐方法原因离线振动后处理要求位移时程FFT 积分 镜像延拓全局换算漂移远小于时域累积实时伺服控制编码器位置求速度低通滤波 中心差分或 SG因果性好相位可补偿已有大量时域业务逻辑只想改小梯形积分 去趋势改动小每一步可解释频带窄、周期长的大地测量类数据时域积分配合高通FFT 对长周期分量泄漏更敏感我的习惯是短数据段优先用 FFT长时程监测用分步时域积分。频域法在频谱泄漏明显时比如数据长度不是目标周期整数倍时结果会出现栅栏效应这时候先加窗再互转反而会压低两端真实值所以要权衡。5. 信号互转避坑指南6 个实测踩坑记录下面几条都是我在测振动台、处理位移数据和调运动控制环时亲手踩过的坑有些是同事的教训有些是我自己反复折腾总结出的经验。每个问题按现象、原因、解决三步写方便对照排查。5.1 坑一积分后位移曲线整体漂走现象加速度积分得到的位移没有在零线附近波动而是整体朝一个方向越走越远十几秒后偏移到几十毫米甚至几百毫米。原因加速度计低频响应和零偏导致信号里存在直流分量或准直流漂移。积分一次变成速度的线性趋势积分两次变成位移的抛物线短时间内看着就是一条漂走的曲线。这是时域积分的头号翻车原因。解决积分前先减均值再对速度层做一次线性去趋势最后对位移层修正残余基线。如果还有缓慢漂移用高通滤波把低于目标频带下限的周期压掉。高通截止频率不要超过目标信号最低频率的一半否则会把真实振动一起滤掉。5.2 坑二微分后毛刺比信号还大现象位置数据做差分后速度曲线像锯齿毛刺幅度比理论速度还大拿去做闭环控制会让电机嗡嗡响。原因一阶差分对高频噪声放大 1/dt。采样率越高dt 越小放大倍数越夸张。采集噪声里只要有一点高频尖峰差分后就会变成大毛刺。解决先做零相位低通滤波再做中心差分或直接用 Savitzky-Golay 的导数模式。低通截止频率按目标信号带宽选先看频谱再定截止不要盲选。如果已经入闭环还要确认滤波引入的相位延迟。5.3 坑三FFT 互转端点处飞掉现象频域积分的结果大部分区间看着正常但开头和结尾几十个点出现大幅摆动峰值明显不真实。原因FFT 把信号当作周期延拓实测数据的首尾一般不连续周期性假设在端点处制造了突变。频域里的积分和微分对高频突变非常敏感于是端点飞出去。解决互转前对两端做镜像延拓处理完再截掉或者对两端加 Tukey 窗但注意加窗会压低端点幅值。倾向用镜像延拓因为它不改变有效段幅值。延拓比例取 5%10% 即可。5.4 坑四采样率不够导致结果面目全非现象互转后的速度或加速度波形呈阶梯状幅值和理论对不上局部出现振荡。原因采样率接近奈奎斯特频率波形本身畸变积分和微分运算又会放大这种畸变。位置、速度、加速度三者带宽逐级扩大对采样率的需求也是逐级变高。解决采集时按目标最高频率的 10 到 20 倍设采样率。如果数据已经采完只能先做带限插值再微分但插值本身是假设不能恢复已经丢失的高频信息。这一条很多新人会忽略等发现时已经没法补救。5.5 坑五直流分量让位移结果叠了一条斜线现象积分后位移基准明显倾斜即使去均值了还是有一条斜线。原因去均值只能去掉整个采样时长内的平均直流不能去掉时变缓慢趋势比如传感器热漂移、调理电路的低频扰动。残留的时变直流被积分后变成速度斜坡再积一次就变成位移斜线或抛物线。解决在速度层做更高阶趋势扣除配合高通滤波。如果斜线仍然明显说明低频干扰周期接近数据时长需要更长的采样记录或更陡的高通滤波器。还有一种做法是对匀速区间标定基准斜率再扣除适合恒定速度工况。5.6 坑六互转后相位和原信号对不上现象速度和位移的波形形状没问题但和原始力信号或其他通道对比有明显时间差控制环调试时相位裕度怎么都对不上。原因普通 IIR 滤波是有相移的lfilter 处理后相位随频率改变微分和积分本身还各带 ±90° 相移初值又没设置对的话相位就更乱。解决离线处理全部用 filtfilt 做零相位滤波在线只能用因果滤波时单独测群延迟并在下游补偿。积分初值和微分初值能测就测测不到就取中间稳定段截取数据避开开头初值影响区。6. 用正弦信号闭环验证把互转结果锁在误差范围内6.1 从已知位移出发转一圈回来看误差互转做完第一件事不是直接报告结果而是先用一组理论已知的数据做闭环验证。方法是构造位移正弦信号 x A·sin(2πft)解析求导得到速度和加速度再把加速度按前面的流程积回速度、位移对比积分结果与原始信号的误差。import numpy as np fs 1000 # 采样率 1000 Hz dt 1.0 / fs t np.arange(0, 2, dt) A, f0 0.002, 5.0 # 振幅 2 mm频率 5 Hz x A * np.sin(2 * np.pi * f0 * t) v 2 * np.pi * f0 * A * np.cos(2 * np.pi * f0 * t) a -(2 * np.pi * f0) ** 2 * A * np.sin(2 * np.pi * f0 * t) v_est trapezoid_integral_fast(a, dt) v_est remove_polynomial_trend(v_est, 1) x_est trapezoid_integral_fast(v_est, dt) x_est remove_polynomial_trend(x_est, 1) # 只统计中间 1 秒避开端点效应 seg slice(int(fs * 0.5), int(fs * 1.5)) rms_err np.sqrt(np.mean((x_est[seg] - x[seg]) ** 2)) print(位移 RMS 误差:, rms_err)运行后位移 RMS 误差应该在零点几毫米到几十微米量级取决于去趋势和端点处理细节。如果误差数量级接近主信号幅值说明某一步预处理没生效多半是速度层的线性趋势没扣干净或者积分顺序反了。这个验证的价值在于把互转算法的性能从“看起来没问题”变成“误差可量化”。6.2 现场验证用已知频率和幅值的标定信号校验正弦验证通过后再到现场找一个可复现的输入作参照。常见做法是给传感器一个已知位移幅值的低频正弦激励比如在振动台上设定一个 5 Hz、2 mm 峰值的扫频采集加速度和位移两个通道互转后互相比对。这里不需要两通道量程一样频域幅值一致即可顺便还能校出采集卡的通道间延迟和滤波器相位。每次换采样率或改滤波截止频率我都会重跑一遍闭环验证。得益于这个习惯有几次在现场发现是采集卡的等效采样率设置错了而不是互转算法的问题。建议你把这段验证模板存成脚本数据一进来先跑它再决定要不要继续处理。希望这篇实战拆解能帮你在做位移、速度、加速度信号互转时少走弯路。我自己的体会是这一行没有万能参数真正能依赖的是先验证、再处理、看趋势、调截止这几步固定动作跑通了再往报告里放。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

Sui Move开发环境搭建与常见错误排查实战指南

Sui Move开发环境搭建与常见错误排查实战指南

简介:SuiPack.v6.4 破解版是一款面向Delphi与CBuilder开发者的专业级VCL界面增强组件包,专为快速构建具备现代化视觉效果的桌面应用程序而设计,显著降低UI美化与皮肤适配的开发门槛,适用于中高级Windows客户端开发者进行产品界面升…

2026/10/16 13:59:48 阅读更多 →
Qt UDP通信编程详解:QUdpSocket实现单播、广播与组播

Qt UDP通信编程详解:QUdpSocket实现单播、广播与组播

Qt学习笔记(三十四):UDP 通信每次做到网络通信这块,我都习惯先问自己一句:TCP还是UDP?如果你正在用Qt做即时通讯、局域网设备发现、音视频传输或者游戏同步这类需求,那UDP大概率绕不开。相比于TCP的可靠性优先&#xf…

2026/10/16 13:58:47 阅读更多 →
AI日报系统:规则驱动+本地小模型的轻量级内容流水线

AI日报系统:规则驱动+本地小模型的轻量级内容流水线

1. 项目概述:这不是一份新闻简报,而是一套可复用的AI内容日更系统“AI 日报 2026-10-06”——看到这个标题,第一反应不是点开看今天又出了什么新模型,而是立刻意识到:这背后必然有一套稳定运行、低人工干预、能自动感…

2026/10/16 13:58:47 阅读更多 →

最新新闻

KVM over IP 实战:kvm_client_windows.zip 远程控制与虚拟介质映射指南

KVM over IP 实战:kvm_client_windows.zip 远程控制与虚拟介质映射指南

简介:本资源为华为服务器智能管理系统iBMC的Windows客户端工具包,面向服务器运维人员、机房管理员及需要远程管理华为服务器的技术人员。iBMC基于华为自研管理芯片Hi1710,提供硬件状态监控、部署、节能与安全等管理能力,该客户端用…

2026/10/16 14:35:42 阅读更多 →
考虑时空相关性的风电功率预测误差建模与Matlab实现

考虑时空相关性的风电功率预测误差建模与Matlab实现

上个项目做某风电场群的功率预测后评估,调度那边反馈了一句让我印象很深的话:单台机组的预测误差看着不大,打起捆来却总是“同涨同跌”,一到系统备用容量校核就露馅。把误差矩阵拉出来一剖,果然不是白噪声——同时刻不…

2026/10/16 14:35:42 阅读更多 →
NeRF-SLAM环境搭建全攻略:从单目图像到稠密重建的避坑指南

NeRF-SLAM环境搭建全攻略:从单目图像到稠密重建的避坑指南

简介:这份文档面向希望深入理解或复现NeRF-SLAM的研究者与工程实践者,聚焦神经辐射场与SLAM结合的三维重建方案。内容围绕Tracking与Mapping两大阶段展开:Tracking部分讲解基于Droid SLAM与RAFT光流估计的稠密单目SLAM,以及DBA层如…

2026/10/16 14:35:42 阅读更多 →
静态上下文分配、强制流式 Reasoning、system role 不能跳:V4 Pro API 的三道紧箍咒

静态上下文分配、强制流式 Reasoning、system role 不能跳:V4 Pro API 的三道紧箍咒

静态上下文分配、强制流式 Reasoning、system role 不能跳:V4 Pro API 的三道紧箍咒 【免费下载链接】DeepSeek-V4-Pro-0813 项目地址: https://ai.gitcode.com/hf_mirrors/deepseek-ai/DeepSeek-V4-Pro-0813 DeepSeek-V4-Pro 正式版(0813&#…

2026/10/16 14:35:42 阅读更多 →
Blender .egg导入器:无缝对接Panda3D的模型转换方案

Blender .egg导入器:无缝对接Panda3D的模型转换方案

简介:面向具备一定 Blender 基础、需要将 Panda3D 模型导入 Blender 进行二次编辑的开发者,这款 .egg 模型导入插件用于解决在 Blender 中还原 Panda3D 场景层次与法线数据的难题。支持与 YABEE 等导出器互操作,并可在新版 bam2egg 帮助下间接…

2026/10/16 14:35:42 阅读更多 →
Abaqus脚本批量生成任意半径球体并装配到指定位置的方法

Abaqus脚本批量生成任意半径球体并装配到指定位置的方法

简介:这套Abaqus脚本压缩包面向需要频繁进行球体建模与装配的科研人员、工程师及高校学生,解决批量创建不同半径球体并精确控制装配位置的重复操作问题。脚本调用Abaqus的Python建模接口,使用者仅需修改少量参数即可生成任意半径的球体&#…

2026/10/16 14:34:41 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

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

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →