不知是哪个牛人发现了这样一个有趣的函数f(x,y)=e^(-x^2-y^2/2) * cos(4x) + e^(-3((x+0.5)^2+y^2/2)),它可以说是“函数界”里的Hello World,因为当z充分小的时候(比如取0<z<0.001),函数图象是两个大大的字母,向电脑前的你表示最真挚的问候。看来,以后打招呼又有新的方式了。

另外一些有趣的问题是,有没有牛人能找到一个并不太复杂的,可以显示“Hello World”的初等函数呢?或者更实用一些的,想要创作一个“XXX我爱你函数”需要花多长时间,函数本身会有多复杂?
消息来源:http://www.walkingrandomly.com/?p=19
你认为,是这个“HI函数”牛B,还是爱的方程式牛B?或者爱的方程式3D版更牛一些?或者数学公式生成的色情图片更牛?个人觉得,还是Tupper自我指涉公式最牛。
这个可能比较火星,很多人可能已经知道了这个彩蛋;但如果你事先不知道这个彩蛋而碰巧遇上了,你能找出触发这个彩蛋的条件吗?刚才打开iGoogle,发现一件神奇的事件:我的iGoogle主题的顶部图片上居然出现了一个圆周率π──天上的星星排列出来的形状。我立即想到这是iGoogle的一个彩蛋,但我却不知道是什么东西触发了这个彩蛋。仔细想了一下后,突然恍然大悟,这个触发条件确实符合Google的Geek精神。把当时的截屏放出来给大家看一看,如果你还不曾听说过这个彩蛋,你完全可以通过这个截屏找出这个彩蛋的触发条件。继续看下去前不妨先来找找看~~

图上显示截屏的时间是11点15分。中国是东八区,比标准时间早8小时,因此国际标准时间是3点15分。考虑到本机时间准确性、截屏时间稍晚等原因,很容易想到iGoogle页面的实际生成时间是3点14分。也就是说,当国际标准时间恰为3:14时,iGoogle将会出现彩蛋。
图片地址:http://www.google.com/ig/images/skins/sweetdreams/3.14am/header_bg.jpg
了解更多:http://www.gseeker.com/50226711/googleaeaeeceee_66197.php

你可以在这个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}]
=================== 我是可爱的分割线 ===================
当然,声音可以相加,也就可以相减。对于多种函数的混音,减去一个特定的函数可以从混音中踢去对应的声音。电影里经常会出现这样一些镜头,侦探们用电脑消去截获的音频中特定的背景声音。从函数的角度来看,这样的事情在理论上是可行的。比如,你偷偷摸摸录下了你的MM和她的前男友的谈话,但最关键的那段谈话声被一个突如其来的电话铃声盖住了。现在,你只需要获取一个电话铃声的样本,然后从原始声音中减去电话铃声即可。而电话铃声是非常简单的波函数,你完全可以自己生成一个。科幻电影中也经常见到一些类似的事情:某超级BOSS制造出的秘密武器可以放射有害波函数f(x),然后天才科学家们争分夺秒地制作并发射出-f(x)函数,企图和有害波正负抵消,把它中和了。在五花八门的波函数中加入一个-f(x),实际上就相当于从“混合波”中减去f(x)。
前几天给系里的MM找迎新晚会用的音乐伴奏时突然想到了一个有趣的问题:是否有可能在某个歌曲的原声和自己的清唱之间做差值运算?这在理论上提供了一个有趣的消音算法,和一个同样有趣的翻唱相似度评判标准(看差值里残留有多少人声)。
=================== 我是可爱的分割线 ===================
不要以为函数声音都那么难听,掌握适当的理论知识和技巧可以做出动听的声音。Mathematica的官方网站上有一个简单而动听的声音函数,这里写出来供大家欣赏:Play[(2 + Cos[50 t])*Sin[2000*(1 + Round[2 t])*t], {t, 0, 3}]
Matrix67原创
转贴请注明出处
第一次涉及这方面的东西,很多东西都是自己的猜测,可能有理论错误,请大家指正!
同时,期待大家通过Mathematica试验发现更多有趣的推论。
你或许还记得爱的方程式是什么。
今天我看到了一个加强版,(x^2 + (9/4)y^2 + z^2 - 1)^3 - x^2z^3 - (9/80)y^2z^3 == 0。
下面是本人亲自用Mathematica绘的图,发出来给大家看看。
图片为Matrix67原创
转贴请注明出处
本文目的:介绍C语言最基本的用法,能对付NOIp就行
本文特点:没有废话,不讲概念,只介绍语法
适宜读者:已经学过其它语言,希望学习C语言的人;特别适合熟练Pascal并想转用C语言的OIer
编程环境:就我个人而言,Windows下用Dev-C++,Linux下用Emacs
目录:
C语言速成手册(一):基本数据类型、标准输出、函数
C语言速成手册(二):布尔值、条件判断、循环
C语言速成手册(三):数组、字符串、结构
C语言速成手册(四):指针、动态内存分配、标准输入
C语言速成手册(五):其它运算符、文件操作、其它函数
C语言速成手册(六):其它问题、后记
A+B问题代码:#include <stdio.h>
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%d", a+b);
return 0;
}
使用Dev-C++编译你的第一个程序
1. 安装最新版的Dev-C++,运行Dev-C++后按快捷键Ctrl+N建新文件,

2. 将上面的A+B代码粘贴进去;

3. 按Ctrl+S保存文件,文件类型选择C源码。如图,点击保存后F盘里将产生AplusB.c文件。.c是C源代码的后缀名。

4. 按Ctrl+F9编译;

5. Ctrl+F5在当前位置设断点,F8进入调试状态,F7单步。

你也可以直接在下面的Debug工具栏里进行操作。只需要把鼠标移到源码中的变量名上停留片刻就可以Watch该变量。

貌似我这辈子注定要使用Ubuntu一样,我一次又一次遇到Ubuntu。哲牛是个不折不扣的Debian饭,dd说他买本本后直接就装Ubuntu,然后前几天有人留言告诉我Ubuntu在ATI的显卡下可以跑Beryl。然后,最近的本本预装系统事件再一次告诉我Ubuntu巨牛无比。
从Slackware,到Redhat,到FC,到Mandriva,我已经用过四个发行版了,几乎是一个比一个牛。Slackware用的人貌似不多,Source太少;Redhat又落后Bug又多;FC无比臃肿,速度巨慢,又费马达又费电。直到用了Mandriva我才把Linux系统稳定了下来。
昨天,我一狠心把Mandriva格了,安装了Ubuntu。第一印象非常好:无线网卡在安装之前就识别出来了,并且成功连接了我的无线路由。真正牛的地方在于,搞Mandriva的Xgl搞了一个星期还没搞起,在Ubuntu上10分钟就搞定了。ATI x200的显卡,没有更改任何文件仅仅是在图形界面下的一些操作就搞好了Xgl,再参考一下遍地都是的Howto安装了Beryl后梦寐以求的3D界面就出现了。内存256的破本本运行非常流畅。
然后接着搞了两天,现在基本上可以在Ubuntu中生活了。Gnome并没有想像中的那么丑,它也有自己的风格。要说起KDE,现在唯一怀念的只是Konqueror了。KDE的Konqueror确实很方便,这是KDE最牛的地方,其它K什么什么的东西我都已经找到了适合Gnome的软件来代替。刚才美化了一下字体后,终于觉得满意了,上Blog发了这个图。这就是我为什么这几天没更新Blog的原因──一直在配置系统。以后将渐渐转移到Linux系统上。工作平台的转移是件很麻烦的事,估计还要花一个多月才能彻底摆脱Windows。
以后我也可以跟人家说了,去他妈的Vista,看老子的Beryl!













