您的位置:首页 > 编程语言 > MATLAB

买西瓜的高级玩法,用好你的智能手机

2016-07-24 20:01 429 查看
西瓜还能玩出个什么花儿?最常见的玩法就是在炎炎夏日,从冰箱里拿出冰好的西瓜切下,然后一边吃瓜一边看电视,真是爽歪歪。

但现在还有人这样玩西瓜:

比如目前已经有虚拟现实版的三维切西瓜。

 
 

还有用686根橡皮筋把西瓜勒爆的。

然而,不管是吃西瓜还是勒西瓜,首先你需要买到一个新鲜的熟西瓜。

 



1.
买西瓜的一般方法 

买西瓜还不容易吗?直接去路边摊,让卖瓜师傅帮忙挑好之后现场切开,或者切个小口测试不就行了:



但有时我们并不是当场吃瓜,需要把西瓜带回家或宿舍。切开之后的西瓜不便于运输,更不便于储存。

 

尤其是如果要去好基友家吃饭,顺便拎了个西瓜过去。但往往晚餐太过丰富,吃完饭喝完酒已吃不下西瓜,结果已被切口的西瓜因为保存不到第二天,就这么被浪费掉了。

 

更关键的是,王婆卖瓜自卖自夸,如果不小心碰到人品不行的王婆,买到的西瓜就是这个样子:



生西瓜!

 

或者是这个样子:



熟透了。

 

所以练就一身买西瓜的功夫是很有必要的。

 

网上有许多鉴别西瓜好坏的方法,比如:
(1)西瓜底部的圈圈,越小越好
;相反的,底部圈圈越大,皮越厚,越难吃。


(2)
颜色最好挑青绿色,不要雾雾白白的。

(3)西瓜纹路整齐的,就是好瓜。


 

除去目测之外,最经典的方法还是“手指弹瓜”的办法: 

用手指弹瓜听到“嘭嘭”声的,是熟瓜;

听到“当当”声的,还没有熟;

听到“噗噗”声的,是过熟的瓜。

 

对于瓜农朋友来说,这是小case;但对于家里没有种过瓜的朋友来说,这太难了:什么样的声音是“嘭嘭”,什么样的声音是“当当”或者“噗噗”声?

 


2.
手指弹瓜的原理

别担心,“嘭嘭”,“当当”或者“噗噗”声这个问题不是你一个人不知道,还有一大波人想搞清楚,比如这位西班牙美女大姐姐Diezma。

 

她和她的两个小伙伴在2005年研究了如何用声波来鉴别西瓜的成熟程度,然后写成paper发表在一个叫做西班牙农业研究这个期刊上。

 

期刊的英文名是Spanish Journal of Agricultural Research,虽然影响因子只有0.76,可是人家也是SCI啊!

追求NCS(Nature,Cell, Science)高端期刊的学霸可以忽略这个期刊,但缺SCI文章不能毕业的朋友不妨考虑一下。

 

不过话说你是学农业和西瓜检测的吗?如果发的SCI和研究方向不一致貌似也不能毕业,而且SCI鉴定机构前几天已经把SCI业务卖掉了,以后还有没有SCI或者影响因子还是两说:SCI业务已被卖给汽车公司,影响因子会被彻底放弃吗?<
190b9
/p>

 

言归正传,现在来看这个西班牙姐姐是怎么鉴定西瓜是否是好的:

 

她们认为西瓜的成熟程度与其振动频率相关,于是做了这样一个装置:



 

西瓜放在这个装置最上面的凹槽里,然后在下面发射声音振动信号。西瓜在声音的刺激下会发生振动,然后在另一端用传感器测试西瓜的振动频率。

 

由于西瓜很大,测点的位置也许会影响测量的结果,所以她们在西瓜上取了很多点进行测试:



另外,她们用了20个不同的西瓜进行测试。将测试结果统计如下: 


论文的结论就是:

当西瓜的振动频率在141
± 27.4 Hz范围内时,表明西瓜已经熟透了。

当西瓜的振动频率在194
± 32.5 Hz范围内时,表明西瓜是个好西瓜。

当西瓜的振动频率在226
Hz以上时,就表明西瓜没熟。

 

这位西班牙姐姐现在已是发表了99篇论文的学霸,在马德里综合理工大学当老师,她这篇论文为我们提供了测量西瓜是否成熟的科学依据:

所谓“嘭嘭”,“当当”或者“噗噗”声,是对应于不同振动频率的声音:

 

没熟的西瓜比较紧密,所以振动频率更高;而熟透的西瓜内部很松散,所以振动频率较低;介于之间的就是好瓜。

 


3.
测瓜神器就在你身边

现在知道什么样的声音是“嘭嘭”,什么样的声音是“当当”或者“噗噗”声了吧?

 

可是然并卵,总不能为了买西瓜带一套笨重的设备在身边吧?况且也没法弄到这样一套设备。

 

No,No,No!其实并不需要那样的专业设备。测瓜神器就在你身边,就是手中正握着的智能手机。

 

你手机的计算能力早已超越了NASA登月拥有的计算能力的总和,可是你只用它来刷微信…

 

其实稍加改造,就能把手机变成测瓜神器。具体步骤如下:

 

(1)
用手机录下手指敲击西瓜发出的声音 

把手机放在西瓜旁边,用手敲西瓜: 


 

然后西瓜会发出类似于这样的声音,用手机自带的录音软件录下来。

0:06

手敲西瓜的声音

来自科学计算编点程

(2)
用Matlab分析西瓜振动的主要频率

把刚才录的西瓜振动的音频文件,拷到电脑用Matlab进行分析,代码如下:

%清理变量

clear

clc

 

%读取声音文件

[y,Fs,bits]=wavread('watermelon.wav');

y=y(:,1);

sigLength=length(y);

 

%傅里叶分析

Y = fft(y,sigLength);

Pyy = Y.* conj(Y) / sigLength;

halflength=floor(sigLength/2);

f=Fs*(0:halflength)/sigLength;

 

%画图

t=(0:sigLength-1)/Fs;

figure;plot(t,y);

xlabel('Time(s)');

 

figure;plot(f,Pyy(1:halflength+1));

xlabel('Frequency(Hz)');

 

 

这段程序目的是对西瓜振动的声音进行傅里叶分析。运行这段程序会画两张图。

 

第一张图是时间-幅度曲线。刚才敲西瓜共敲了三次,每次敲三下。所以共有九个峰值,每三个峰值一组。 


 

第二张是频率-幅度曲线。可以看到主频集中在最左侧。 


 

放大左边,得到下图:



西瓜振动的主频是193 Hz,用刚才的鉴别图一对照,在168至226Hz的范围内,好西瓜! 

  


4.
手机版Matlab

虽然上面的方法能够测出西瓜是否成熟,但是仍然不具操作性:总不能录下西瓜的声音,然后跑回实验室用matlab画完图再来买吧?

 

那样的话,能不能认出来之前是哪个西瓜还是一说,而且西瓜很可能已经被别人买走了!

 

还好,Matlab现在有手机版了,叫做mobile matlab。

 

我们可以直接把手机版的Matlab和电脑版的连接在一起,然后录完西瓜的声音之后,马上在手机上跑程序,瞬间得出结果。

 

手机版Matlab不仅可以连接电脑,还可以把手机当作传感器,支持的类型包括加速度、磁感应强度、方位、角速度、位置。

 

先打住,再说下去手机会被玩坏的。下面还是继续看怎么把手机连接到电脑上吧。

 

(1)
先打开Matlab电脑版,在commandwindow中输入connector
on,记下ip地址和密码。

 


 

(2)
打开mobile matlab,找到setting项,选择add
acomputer。

 


(3)
按照图片上的标识,依次填写内容,最后点击右上角的connect。

 


然后敲西瓜、录音、用手机跑Matlab程序,就能实现用手机秒测西瓜了!

(END)





1你一定要知道的十款主流画图软件

2发表SCI论文有哪些实用工具?

3最值得学习的Matlab参考书有哪些?

4你一定要知道的几款经典文本编辑器

5最常用的10个Matlab快捷键,助你编程更高效

6哪种编程语言最值得花时间学习?

7半夜看小说伤眼睛怎么办?

8家里没人怎么防火防盗?装上这段自动看家程序

9机器学习这么火,想跳坑该怎么做?

回复“热门”查看更多信息

科学计算编点程3M君,酷爱Matlab和Python编程,擅长图像识别和多媒体处理。不定时po一些自己在科学、工程计算编程中总结的经验教训、小技巧、实用工具和好玩的东西,欢迎关注~



文为原创,转载请联系我,加白名单。欢迎转发朋友圈,谢谢分享。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息