標(biāo)題: 數(shù)學(xué)不是公式,而是一種思維 [打印本頁]
作者: xueren 時(shí)間: 2013-8-5 14:40
標(biāo)題: 數(shù)學(xué)不是公式,而是一種思維
出于興趣,出于工作,一直很努力地看數(shù)學(xué),可是,骨頭難啃啊。這幾天工作需要看了下JPEG編解碼的東東,DCT(離散余弦變換)的公式看了很多回,可是怎么由它用到程序中去?看了TI的IDCT代碼,搜了一下,原來還有像FFT(快速傅里葉變換)的蝶式快速算法。可是怎么換算過來的呢?搜到了相關(guān)論文來看,還是一頭霧水。
現(xiàn)在越來越后悔以前在校時(shí)為什么沒好好地學(xué)好數(shù)學(xué)?前幾年自考自己狠心地啃了好幾年,雖小撿了一下,但是還覺得遠(yuǎn)不足用。現(xiàn)在的我一直苦惱,應(yīng)該先深入哪一科先呢?性代?概率?統(tǒng)計(jì)?幾何?微積分?其實(shí)是一科扣一科,可能還得先從廣到深吧。
數(shù)學(xué)思維到計(jì)算機(jī)的機(jī)器思維,我覺得會(huì)有幾點(diǎn)比較難的:
1,如何從連續(xù)變到離散?
2,如何從復(fù)數(shù)或?qū)崝?shù),變成浮點(diǎn),甚至整數(shù)?
3,如何優(yōu)化性能,以達(dá)到軟件跑得更快?或者簡化到可以放到FPGA之類的地方也能用?
學(xué)數(shù)學(xué)不只是公式,還要考慮應(yīng)用,像一維的時(shí)候就是一段波,像音頻,那用到二維的時(shí)候呢?像圖像。三維又是如何?3D處理現(xiàn)在也很流行了。
學(xué)這些一下很難看到效果,成就感很難體現(xiàn)出來,為了給自己一點(diǎn)動(dòng)力,也算是看看別人的一些學(xué)習(xí)方法,看了些文章。
######## 以下摘自 http://blog.csdn.net/mpzsw/article/details/6857128 ######
寫程序需要數(shù)學(xué)嗎?要看程序的目的?那我們就像討論一個(gè)簡單的程序,算出1加到100的總和。完全以程序結(jié)果為導(dǎo)向的人,或是訓(xùn)練有素的程序女/男工,甚至有時(shí)連我都會(huì)直覺地寫出這樣的程序:
- int sum = 0;
- for(int i=1; i<=100; i++)
- {
- sum += i;
- }
上面這個(gè)程序片段還算很容易讓人一眼就看懂,可是我們明明高中時(shí)就學(xué)過了這種數(shù)列級數(shù)的算法了,怎么還會(huì)寫出上面這么笨的程序呢?
int sum = ((1 + 100) * (100 - 1 +1)) /2; //或更精簡的int sum = (101 * 100) >> 2;
……
為什么Google會(huì)這么重視算法和效率?應(yīng)該說世界級的大公司都重視,Yahoo、微軟、YouTube…,因?yàn)槟銓懙某绦虿皇墙o幾十個(gè)人、幾百個(gè)人用而已。而是同一時(shí)間有幾百萬,甚至上千萬人使用。一個(gè)人慢0.1秒好了,一百萬人就10萬秒,超過一天耶。瀏覽一個(gè)網(wǎng)頁,慢幾秒鐘你都不能忍受了,更何況是一天。你說能不計(jì)較算法和效率嗎?
#####################
看到上面的例子,我突然發(fā)現(xiàn),原來小學(xué)時(shí)學(xué)的速算對我們來說還是相當(dāng)有用的,一個(gè)循環(huán)你哪怕優(yōu)化到匯編級別也比不過小學(xué)生的一個(gè)速算公式。
其實(shí)學(xué)哪個(gè)東西一開始都很難,就像我第一次學(xué)計(jì)算機(jī)時(shí),看程序代碼,看那些原理就像看天書一樣,可是現(xiàn)在比看小說還輕松(當(dāng)然算法的除外)。其實(shí),學(xué)數(shù)學(xué)也同理,現(xiàn)在可能難,但是我相信不出幾年后我看到一堆的數(shù)學(xué)公式和符號也像現(xiàn)在看程序代碼一樣輕松自如。
下面這文章也不錯(cuò):
http://www.cnblogs.com/qdsa/archive/2011/03/12/1982255.html
下面這個(gè)圖是有些嚇人,但是,自己心里有數(shù)就是了。
http://dl.iteye.com/upload/attachment/0054/8180/ef4bdd64-81f6-3bdd-8fc3-7943db7c5e0b.png
作者: 沒有未來的未來 時(shí)間: 2014-6-29 10:16
好想法
作者: xuhai777 時(shí)間: 2020-8-2 12:19
int sum = ((1 + 100) * (100 - 1 +1)) /2; //或更精簡的int sum = (101 * 100) >> 2;
>>2 相當(dāng)于 /4
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |