Mar 12
今天又发现一个很奇妙的数字序列
 
                                      1/9801=
0.00010203040506070809101112131415161718192021222324252627282930313233
3435363738394041424344454647484950515253545556575859606162636465666768
69707172737475767778798081828384858687888990919293949596979900010203...
 
这是一个有198位循环结的循环小数。
 
其实要制造这样的分数并不难,难的是找到这样形式简单的,比如我用Mathematica找了一个这样的:
 
                                 13717421/1111111111=
0.0123456789012345678901234567890123456789...
 
 
我是在这个网站上看到的,你可以在上面进行分数和小数的转换,可以算出分数是有限的还是循环的,并可以给出循环结。可以在这个网站上进行这类有趣分数序列的探索,不过好像计算能力不算强,像我上面这个0-9的循环就算不出来。
Mar 11
   美国计算机科学家史蒂芬·沃尔弗拉姆(Stephen Wolfram)(他就是Mathematica的创始人)已经研发了一个名为“Wolfram Alpha”的新型搜索引擎,该搜索引擎将于今年5月上线。在这里http://www.wolframalpha.com/
   沃尔弗拉姆近期表示,该搜索引擎已经由100多名技术人员秘密研究了几年的时间。他解释了该搜索引擎的工作原理:用户在搜索框键入需要查询的问题(比如“氢原子内有多少个质子?”)后,该搜索引擎将直接给出答案,而不是像谷歌一样给出一大堆网页链接。
   该搜索引擎的很多细节都还未公布。不过沃尔弗拉姆向美国搜索引擎研究专家诺瓦·斯皮万克(Nova Spivack)透露了Wolfram Alpha的更多详情。斯皮万克认为Wolfram Alpha“过于雄心勃勃”,但如果发展顺利,该搜索引擎将像谷歌一样渗透到人们生活的方方面面。
   Wolfram Alpha不是像谷歌一样的网页搜索引擎,也不是像维基百科(Wikipedia)一样的大型数据库,更不是像Powerset一样的自然语言搜索引擎。Wolfram Alpha是一个基于大量知识的系统,用特定的数据和算法代表我们在真实世界所知道的知识。
   Wolfram Alpha的搜索界面跟谷歌的搜索条很像,但该搜索引擎能用自然语言理解你的问题甚至是简写的问题,然后为你提供详细的答案。
   斯皮万克总结表示,Wolfram Alpha能搜索到正式的知识(所有正式的可定义系统、探索法、运算法则、规则、方法、定理以及事实),就像搜索引擎能搜索到非正式的知识(所有媒体的文件和记录)。
   沃尔弗拉姆指出,Wolfram Alpha有两个基本要素:Mathematica和一种新科学(New Kind of Science,以下简称“NKS”)。沃尔弗拉姆称:“通过Mathematica,我可以用符号语言代替所有东西,还可以用运算法则做各种计算。通过NKS,我有可以理解复杂性是如何从简单原理中产生的。”
   沃尔弗拉姆说:“这是我做过的最复杂的项目,涉及很多专业知识,像Mathematica和NKS一样,该项目永远不会结束。”
   斯皮万克认为,Wolfram Alpha其实是一个基于基本规则和数据的非常精密的系统,它所包含的知识和智慧是模数化的,可以回答那些没人解答的实际问题,如果必要,它能合成新的知识。
   谷歌是一个“发现”(FINDING)我们公布过的事情的系统,而Wolfram Alpha是“回答”(ANSWERING)我们知道的问题的系统。Wolfram Alpha是知识和智慧传播的新方式,是我们“全球大脑”智慧的进步。Wolfram Alpha未来可能会“计算”答案而不仅仅是“查找”答案。
 
Mar 11
    前面写了一篇文章“绝对强大:太极图极坐标函数”,里面用给出了一种方式画那个太极图,这种方法确实在所有t(角度)都是以三角函数出现的情况下很好,而且也很快,昨天晚上突然想到我这个方法似乎太笨了,我为什么不直接用r和t作变量,输出(r*Cos[t],r*Sin[t])呢?
于是今天就试了一下,发现这样做是简单,但是相当的慢,当r取100个点,t取1000个点时很长时间也算不出来,我只好让t取100个点。
像下面这样:

可能是用这种方法式子中有大量的三角函数运算,所以很浪费时间,而上篇文章中的那种方法巧妙的把大部分三角函数去掉了,所以特别的快。

Mar 10

M67的博客上发现了这张图。由于Mathematica里没有画极坐标隐函数的函数,所以他上面只写了一个Free Pascal的程序。我研究了一下,终于用Mathematica画出了上面一样的图形。像下面这样:

Mar 10

我今天构造一个这样一个不等式:
                        0.5 < Mod[Int[T*2^(-8 Int[x] - Mod[Int[y], 8]),2]
 
其中:T=202486808888363389480137910375037701804044605404484441980698178。
 
它生成的图像竟然是下面这个样子:

你一定会觉得很神奇,这样的函数是怎么构造出来的呢?仔细想一下,你会发现其实这一点也不难,知道怎么回事后你也可以做出像这样的式子来。

Mar 6

   想必大家都见过有名的倒水问题,类似下面这样:
   给你一个7升和11升的无刻度的容器和无限的水,你怎样取到2升的水?

Mar 5

Mathematica真的是很强大的工具,你一定见过用各种图片拼起来的马赛克图片,现在你用Mathematica就能实现了。

imagePool = Map[With[{i = Import[#]}, {i, Mean[Flatten[N[i[[1, 1]]], 1]]}] &, FileNames["Pool/*.jpg"]];
closeMatch[c_] := RandomChoice[Take[SortBy[imagePool, Norm[c - #[[2]]] &], 20]][[1]];
Grid[Reverse[Map[closeMatch, Import["MasterImage.tif"][[1, 1]], {2}]], Spacings -> {0, 0}]

Pool/*.jpg是你图库里的所有jpg图片,imagePool是载入所有这些图片,然后算出他们的平均RGB值。所以我先把我的图片都用PS做成了25*25,并调成灰度显示。closeMatch会把把你的图片的每一个像素从颜色最接近20张图片中的随机选一个代替。所以我把我的照片裁剪后压成 35*40的。最后Grid会输出我的马赛克拼图了。