网站大量收购独家精品文档,联系QQ:2885784924

聆听函数声音:Mathematica声音函数试验.doc

聆听函数声音:Mathematica声音函数试验.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
聆听函数声音:Mathematica声音函数试验

 HYPERLINK /blog/archives/308 \o Permanent Link to 聆听函数的声音:Mathematica的声音函数试验 聆听函数的声音:Mathematica的声音函数试验 ???? ????你可以在这个Blog里看到很多地方用Mathematica代替了复杂的计算。Mathematica是一个强大的数学软件,很多网友看到了这个Blog上的一些演示后都迫不及待地装上了它。Mathematica的功能比你想象的多得多,今天我们来看一个有趣的Mathematica函数——Play函数。我们将用Mathematica做一些有关函数和声音的简单试验。 ????声音的实质是波函数。定义一个波函数和定义域的范围,Mathematica可以播放出它表示的声音。试在Mathematica中运行这条语句: Play[Sin[4000 t], {t, 0, 2}] ????上面的例子中,4000表示函数的周期大小,也就是声音的音调高低。把4000改成8000,你可以听到音调更高的声音: Play[Sin[8000 t], {t, 0, 2}] ????函数的形状决定了音色。对于不同的周期函数,声音是不一样的。试试下面三个不同的函数: Play[Sin[5000 t], {t, 0, 2}] Play[Tan[5000 t], {t, 0, 2}] Play[Mod[5000 t, 50], {t, 0, 2}] ????如果我们的函数不是周期函数呢?记得一次音乐课上,老师曾经告诉过我们音乐和噪声的区别。 Play[Random[], {t, 0, 2}] ????音量的大小由振幅来控制,说穿了就是函数值的大小。运行下面三条语句,你会发现函数竟然可以用声音如此形象地表现出来。你甚至可以让别人根据音量变化来猜你放的是什么函数。 Play[Sin[4000t] t, {t, 0, 2}] Play[Sin[4000t] t^2, {t, 0, 2}] Play[Sin[4000t] Log[t], {t, 0, 2}] Play[Sin[4000t] Sin[8t], {t, 0, 2}] Play[Sin[4000t] Mod[t,0.4], {t, 0, 2}] ???? ????当复合函数出现后,真正有趣的事情开始了。我们来想象一下Sin(x^2)的图象是什么样子。x的绝对值越大,x^2的值变化越快,反映在正弦波上就是波长越短,音调越高。也就是说,x^2的形状与音高有直接的关系。于是,你将听到的是一段可以让你立即联想起二次函数的声音: Play[Sin[5000 t^2], {t, -1, 1}] ????在运行下面的语句前,你可以先自己想象一下每个函数对应的声音是什么样子的: Play[Sin[5000/t], {t, 0, 2}] Play[Sin[5000 * Sqrt[t]], {t, 0, 2}] Play[Sin[5000 * Sin[4t]], {t, 0, 2}] Play[Sin[2000 t * Sin[8t]], {t, 0, 2}] ????两个函数相加的结果是什么?下面两个例子分别是二次函数加正弦函数,与倒数函数加噪声。你可以立即观察到,函数的相加即声音的相加。 Play[Sin[5000 (t-1)^2] + Sin[5000 * Sin[4t]], {t, 0, 2}] Play[Sin[5000/t] + Random[], {t, 0, 2}] ????我们还可以举一些其它的例子来说明这种现象。比如,Sin[5000t]和Cos[5000t]的声音肯定是一样的,那么函数Sin[5000t] + Cos[5000t]的周期一定与原来相同,只是振幅更大。 ???? ????再看下面的这个例子。同样是函数的相加,为什么这次只能听见mod函数的声音,但听不见正弦函数的声音呢? Play[Sin[5000 t] + Mod[5000 t, 50], {t, 0, 2}] ????原因很简单。上面两个函数中,mod函数的振幅更大,因此它的声音远远大于sin函数的声音,于是sin函数只能淹没在mod的嘈杂声中。如果把sin函数乘上一个系数50,两个函数的声音就一样大了: Play[50 * Sin[5000 t] + Mod[5000 t, 50], {t, 0, 2}] ????把倒数函数与噪声的五分之一相加,得到的就是一个带有轻微噪声的“倒数函数声”。 Play[Sin[5000/t] + Random[]/5, {t, 0, 2}] ????当然,声音可以相加,也就可以相减。对于多种函数的混音,减去一个特定的函数可以从混音中踢去对应

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档