Re: [請益] 看懂微積分,就會寫程式???
※ 引述《guest0970 (guest)》之銘言:
: 我是原po, 看了大家的討論之後,
: 有些人舉例表示會用到"數學",
: 但是用到的數學到底是基本數學還是進階數學?
: 是基本的微積分還是進階版的微積分?
其實我在想, guest 兄可能當年沒遇到好老師(無惡意. :D)
微積分越基本的越好用......
偏偏越基本的, 通常就是學生越喜歡抱怨抽象(難, 進階)的部分.
譬如均值定理很好用.
因為切 mesh 的時候可以用這招挑一下整個 mesh 應該取哪個值.
自己切過一次就知道, 收斂速度可以快很多.
問題是學生時代, 除了念數學的, 誰會說均值定理很好用?那真是有病.
還有收斂性, 我也知道一說到收斂性, 每個人腦袋都要沸騰了.
可是當臨時用到 sin(x) 怎麼辦?而且沒有 libm 可以用.
好, 去 google 上面抄一段
sin(x) = x - x^3/3! + x^5/5! - x^7/7!...
套進去........嘿, 怎麼套怎麼爆.
因為收斂性質沒學好; 這可是我實際看到的蠢事.
: 除了我一開始所說的之外, 以下這個網頁也是教授要我們學的,
: http://ccjou.blogspot.com/2009/12/blog-post.html
: http://nccur.lib.nccu.edu.tw/bitstream/140.119/33994/11/35202111.pdf
: http://tinyurl.com/7k2m9l7
: 有誰寫程式用過??
我來講一下這三篇哪裡會用到.
第一篇那真的是王道中的王道: 用 eigen-system 解 linear ODE.
目前全世界幾乎都這麼做.
或許有人說, 我的程式寫了一百年也沒解過 ODE...
問題是數學無所不在, 你不管它, 它自己也會來管你.
作影像處理, 機械控制, 訊號處理... 背後幾乎都在解 ODE.
做金融的講到「股市波動」, 也有一海票人當成 ODE 在玩.
這樣講很抽象, 那我舉實際的例子, OpenCV 夠紅了吧?
OpenCV 一翻開就是一堆矩陣運算.
說到寫一個 application program...
想像中呢, OpenCV 拿來挖出幾組 API 湊一個程式就好了.
實際上會發現亂寫的程式根本不準.
然後把 documentation 打開, 滿坑滿谷的矩陣運算.
看不下去又翻到應用篇的 feature detection.
入門第一頁 corner detection 就會提到 eigen-value problem.
很慘吧, 根本躲不掉.
當然, 這些讀不懂也沒關係, 因為台灣做軟體往往是「會動就能賣錢」.
效果如何不那麼重要, 只要隔壁那一家還不會動就贏了!! :P
再說第二篇, 第二篇概念也不難.
高中數學教過用一堆拋物線近似一個任意曲線, 作積分.
然後還要背什麼 1, 4, 6, 4, 1 之類的係數, 對吧?
第二篇就是在講這種 1, 4, 6, 4, 1 是怎麼來的而已.
只是這比較少用, 我承認, 因為大家都很討厭做積分.
不過還是有例子, 譬如求階乘, 不能說一輩子都遇不到吧?
如果有人發明彩券必勝法, 結果裡面有一項 C(500, 100)...
500!
C(500, 100) = --------
100!400!
怎麼辦, 亂寫寫不出來.
有點小聰明的會想: 那我們先取 log() 再運算, 最後用 exp() 還原.
可行, 不過仍然有很多問題.
貴人相助的話會教你改用 gamma function.
但 gamma function 是一個積分型的函數, 看到就 Orz 了.
怎麼辦?1, 4, 6, 4, 1 硬幹是個方法, 雖然這樣做結果也很爛.
然而這個方法好在積分硬幹的時候, 可以隨心所欲地縮放.
不會直接做完 500! 之後只看到爆掉的結果.
當然現實遇上 gamma(n) 並不做積分, 抄一些 expansion 來用更快.
不過這可是遠比第二篇還要高段的技巧.
因為乖乖積分通常不會錯, 但是 expansion 亂用就像前面的 sin(x).
第三篇應用也很廣, 但不是 wiki 寫的那種型式, 對我來說那也太學院派.
不過裏面探討的 tangent space 很好用.
最簡單的一定都學過, 直角坐標跟極座標的轉換.
直角坐標底下一個普普通通的方程式, 要怎麼變成極座標?
向量變來變去並不算太難, 可是如果不是向量而是方程式會比較複雜.
哪邊會用到?只要有一大堆座標變換的地方都會用到, 用量非常大.
可是問我寫哪些軟體的人會用到座標變換, 這難倒我了.
我自己用到, 是用在光學模擬裏頭.
光軸轉來轉去的時候對應的 green function 怎麼變...
這沒辦法每次都用蒙地卡羅查表打迷糊仗, 遇上繞射極限的時候行不通.
而計算軸也不見得就是光軸乘上某個旋轉矩陣.
如何有系統地生出一連串座標描述?不會真的一張一張圖慢慢畫.
當然東西要自己算過才知道.
沒遇到實際問題的時候都會想: 幹嘛學那一大堆座標變換...
直接挑一個自己會做的座標系不是很美好嗎?直角座標, 就是它了!
事實上沒那麼簡單, 不同的座標會有不同的對稱性.
譬如找到一個軸對稱, 計算立刻少一個維度, 三維的變二維, 二維的變一維.
不變換的, 兩個軸各切一千段, 算 1000x1000 = 1M.
變換後的單軸直接就可以切一百萬段, 精確度提高那麼多, 計算量一樣.
透鏡就算非球面也幾乎都有軸對稱, 但是要怎麼轉, 這就是學問的應用了.
所以說通通都有用.
至於老師該教哪些, 學生又該怎麼學... 老實說我也不知道. Orz
--
新詩練習:新鮮。踩破初春裡的狗大便;不經意的滄桑,滿溢著嫩黃的喜悅。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.218.110
→
01/03 03:36, , 1F
01/03 03:36, 1F
→
01/03 03:45, , 2F
01/03 03:45, 2F
推
01/03 09:11, , 3F
01/03 09:11, 3F
→
01/03 09:12, , 4F
01/03 09:12, 4F
→
01/03 09:26, , 5F
01/03 09:26, 5F
→
01/03 09:27, , 6F
01/03 09:27, 6F
→
01/03 09:29, , 7F
01/03 09:29, 7F
→
01/03 09:30, , 8F
01/03 09:30, 8F
→
01/03 09:31, , 9F
01/03 09:31, 9F
→
01/03 09:32, , 10F
01/03 09:32, 10F
→
01/03 09:33, , 11F
01/03 09:33, 11F
→
01/03 09:34, , 12F
01/03 09:34, 12F
→
01/03 09:37, , 13F
01/03 09:37, 13F
→
01/03 10:46, , 14F
01/03 10:46, 14F
→
01/03 10:53, , 15F
01/03 10:53, 15F
→
01/03 11:29, , 16F
01/03 11:29, 16F
→
01/03 11:33, , 17F
01/03 11:33, 17F
→
01/03 11:39, , 18F
01/03 11:39, 18F
推
01/03 12:50, , 19F
01/03 12:50, 19F
→
01/03 12:51, , 20F
01/03 12:51, 20F
→
01/03 13:23, , 21F
01/03 13:23, 21F
→
01/03 20:17, , 22F
01/03 20:17, 22F
→
01/03 20:17, , 23F
01/03 20:17, 23F
推
01/03 23:11, , 24F
01/03 23:11, 24F
→
01/03 23:35, , 25F
01/03 23:35, 25F
→
01/03 23:35, , 26F
01/03 23:35, 26F
推
01/04 11:49, , 27F
01/04 11:49, 27F
討論串 (同標題文章)