第一條不用說,手動嘛,先手動算出求導公式,然后再把公式轉(zhuǎn)化為代碼,用來完成計算。
這個直觀且簡單,但每次都要手動刪除求導公式然后再編寫代碼,無法復用,使用價值不大。
而且碰上復雜的函數(shù),不是專業(yè)人士上哪求導去。
所以這個辦法,可以pass掉了。
數(shù)值微分法直接根據(jù)微分的極限定義形式,將函數(shù)代入到公式中求解。它通殺,不管f(x)是多復雜的函數(shù)都能求積分。
但這種搞法計算量巨大,且存在roundoff
error和truncation
error的問題,一般只用于驗證自動求微分程序的準確性上。
符號微分法可以看做手動求解法的變形和升級,將常見求導公式寫成固有函數(shù),而后在此基礎(chǔ)上,再基于鏈式求導法則,對復雜公式進行求導。
但它跟數(shù)值微分法一樣,都存在計算量巨大的問題,實際操作性小。
自動微分法,使用的是數(shù)值微分法和符號微分法的集合。
葉菁菁當慣了老師,分析的時候就下意識地說出來了。
“分兩步走,對已知函數(shù)可以直接采用數(shù)值微分法來求微分,然后作為中間結(jié)果保存;組合函數(shù),就采用符號微分法把公式展開來,再把上一步數(shù)值微分的中間結(jié)果代入進來,這樣來結(jié)合,降低求解和計算的繁瑣度?!?/p>
聽得旁邊計算機專業(yè)的大一新生目瞪口呆。
乖乖,都說大學臥虎藏龍,果不其然啊。
看看人家化學系的師姐,微積分學的比他們計算機專業(yè)的強!
要知道,他們計算機專業(yè)是剛從數(shù)學系劃撥出來的呢。
葉菁菁不僅微積分學的好,微機用的更好。
雖然現(xiàn)在電腦沒有dows系統(tǒng)也沒有dos系統(tǒng),只有unix系統(tǒng),但在短暫的別扭之后,她迅速進入狀態(tài),又是公式又是代碼,手指在鍵盤上飛舞,敲得不亦樂乎。
她敲鍵盤也就算了,老師癖還犯了,下意識地就叨叨叨解釋,她敲下的一行行代碼,都是什么用意。
整個機房安靜的鴉雀不聞,只有手指敲擊鍵盤,和她嘴巴發(fā)出的說話聲。
學生們一個都不敢吱聲,整個微機室就她一臺正經(jīng)的計算機,他們用的都是訓練模型機呢。不看她,大家還能看誰?"