第二天早上,陆丰刚推开302实验室的门。
里面只有周明远一个人。他顶着两个硕大的黑眼圈,正对着屏幕打哈欠,手边放着一个干瘪的书包。
听到动静,周明远转头。
“师弟?你今天怎么也这么早?”
“过来跑点东西。”陆丰拉开椅子,把书包塞进桌斗。
“吃饭没?”周明远揉了揉乱糟糟的头发。
“吃过了。”
“那你先忙,我来早了,肚子扛不住,去食堂弄点吃的。”周明远站起身,伸了个大大的懒腰,“妈的,今天还有十几组数据要算,想想就头疼。”
周明远晃晃悠悠走出门。
陆丰按下那台高配台式机的电源键。
机箱风扇发出轻微的嗡鸣,系统几乎是秒开。
i7处理器,32G内存。
这配置放在2012年,绝对是顶配中的顶配。
陆丰插上U盘,把昨晚写了一半的“大学数据酱”源码拷进硬盘。
配置好Python运行环境,安装必要的第三方库。
手指在键盘上敲击,清脆的按键声在空荡的实验室里回荡。
昨晚卡死在预处理模块的瓶颈,在这台机器面前迎刃而解。
算力充沛,陆丰的思路也彻底打开。
他开始重构核心算法引擎。
傅里叶变换、小波分析、主成分分析。一个个复杂的数学模型被转化为精简的代码逻辑。
冗余的循环被剔除,内存调用的逻辑被优化到极致。
一个小时后。
陆丰敲下最后一行UI界面的代码,按下回车。
屏幕上弹出一个灰底白框的简陋窗口。
界面极其朴素。左侧是数据导入区,中间是算法选择下拉菜单,右侧是结果输出与图表展示区。
顶端挂着五个大字:大学数据酱。
这名字怎么看都透着一股不靠谱的草台班子气息。
陆丰靠在椅背上,活动了一下发酸的手腕。
框架搭好了,算法也集成进去了。
现在就缺一块足够庞大数据测试了。
正想着,实验室的门被推开。
周明远走进来,手里捏着半块啃得坑坑洼洼的煮玉米,另一只手端着一杯豆浆。
“呼~还是食堂的玉米顶饱。”
他拉开椅子坐下,把豆浆放在桌上,点开电脑里的MATLAB。
看着屏幕上密密麻麻的工程文件,周明远咬了一大口玉米,满脸写着抗拒。
“师兄,你手头有需要处理的测试数据吗?”陆丰转过头问。
周明远嚼玉米的动作停住了。
“有啊,怎么了?”
“发我一份。”
“你要这玩意儿干嘛?”周明远咽下嘴里的东西,有些纳闷,“这可是咱们那个齿轮项目第二阶段的实测振动数据,里面夹杂着大量的非平稳噪声,乱得很。”
“我刚写了个小工具,想拿真实数据测试一下。”
周明远愣了。
他转过身,上上下下打量了陆丰一番。
“你写的?什么工具?”
“一个数据处理软件。”
周明远听完一愣。
“师弟学写软件了?”
“昨晚刚学的。”
周明远刚吸进嘴里的一口豆浆差点喷出来。
他剧烈地咳嗽了两声,抽出纸巾擦嘴。
“昨晚刚学?今天就写出软件了?”
他一副“你逗我玩”的表情。
编程这东西,谁不是从“HelloWorld”开始,一步步被各种Bug折磨得死去活来才慢慢上道的。
一晚上写个软件?还是处理复杂振动数据的软件?
这简直比大一发SCI还要离谱。
“发过来试试就知道了。”陆丰懒得解释,直接报了自己的内网IP。
“行,你试试。”周明远权当他在闹着玩,点开局域网传输工具。
“我发给你的是三号实验台刚采下来的原始数据,一共四十五万个采样点。”
周明远一边操作一边絮叨。
“这组数据我正准备用传统的经验模态分解去滤噪,光是跑完这个流程,这台电脑估计就得转上大半个小时。”
“叮。”
陆丰的电脑弹出接收提示。
一个接近50MB的.txt文件。
陆丰点开“大学数据酱”。
点击“导入数据”,选中刚刚接收的文件。
几秒钟后,左侧的列表框里出现了密密麻麻的数据列。
陆丰在中间的算法菜单里勾选了“小波降噪”和“快速傅里叶变换”。
“师弟,你这界面风格,挺复古啊。”周明远啃着玉米凑了过来。
看着那个连图标都没有的灰色窗口,他更加确信这只是个初学者的玩具。
“能跑就行。”
陆丰握住鼠标,光标移到最下方的“运行”按钮上。
按下左键。
周明远咬了一口玉米,准备看这个简陋的程序怎么崩溃。
然而。
屏幕中央弹出一个绿色的进度条。
“唰~”
进度条从零直接飙到满格。
整个过程不到两秒钟。
“滴。”
一声清脆的系统提示音。
右侧的空白区域瞬间刷新。
两张极其清晰的图表并排出现。
上面是降噪后的时域波形图,红色的曲线平滑而规律,彻底剔除了原始数据中的毛刺。
下面是频域的频谱图,几个关键的共振峰值直指上方,标注着精确的频率数值。
图表下方,还附带了一份自动生成的文本报告,列出了均方根值、峰值因子等十几个核心特征参数。
周明远嘴里的玉米掉在了桌上。
他整个人僵硬得像一块木板。
实验室里只有电脑机箱风扇的细微转动声。
过了足足十秒。
周明远猛地俯下身,脸几乎贴到了显示器上。
他死死盯着那张频谱图,眼睛瞪得像铜铃。
“这...这共振频率的峰值...1250Hz?还有这个谐波”
他语无伦次地念叨着,然后转身扑回自己的电脑前。
双手在键盘上疯狂敲击,调出自己昨天跑了整整一个下午才算出来的一组对比数据。
他把两台显示器的画面拉到最近。
一行一行地对。
一个参数一个参数地比。
陆丰靠在椅背上,拿起桌上的水杯喝了一口,静静地看着他发疯。
时间一分一秒过去。
周明远的呼吸越来越急促,胸膛剧烈起伏。
“全对。”
“小数点后四位,一模一样。”
陆丰点了点头,对这个结果毫不意外。
“速度还行,看来Python在处理这种规模的数据时,只要算法优化得当,效率并不低。”
“还行?!”
“你管这叫还行?!”
“我用MATLAB跑这套数据,光是预处理就要二十分钟!”
“你这破软件,两秒钟?两秒钟就出结果了?!”
周明远的心理防线彻底崩塌了。
他感觉自己这两年研究生的书都读到狗肚子里去了。
每天起早贪黑,对着电脑一行行敲代码,盯着进度条像个傻子一样等结果。
结果人家一晚上写出来的草台班子软件,两秒钟就把他一天的活干完了?
“你这到底是怎么做到的?”周明远指着屏幕,手指都在哆嗦。
“底层调用的还是C语言编译的数学库,我只是在外面套了一层壳,重新写了数据调用的逻辑,把多线程利用起来了。”
陆丰语气平淡,仿佛在说今天早上吃了两个包子。
“顺便优化了一下傅里叶变换的基时间抽取算法,减少了不必要的蝶形运算。”
周明远听懂了,但又完全没懂。
原理他知道,但把它实现出来,还能跑出这种变态的速度。
这根本不是人类能干出来的事。
“卧槽...”